2018年3月22日 星期四

【Ionic 3】頁面瀏覽:參數傳遞

延續Ionic 3頁面瀏覽之push/pop機制,在頁面切換時,另一個重要問題是頁面之間的「參數傳遞」。以常見的「清單列表」/「細節」頁面切換為例,除了呼叫push()外,還必須傳送如「項目編號」的參數到下一個頁面,如下圖所示:
圖1 點選清單項目,必須傳遞參數到「細節」頁面,如"id:2330"。
參數傳遞的工作,在傳送端—亦即上圖的「清單列表」頁面—可將參數以物件的形式,直接加在push()的第二個引數:
    this.navCtrl.push(DetailPage, {
      id: 2330,
      arg: some_value
    });

2018年3月17日 星期六

【Ionic 3】頁面瀏覽機制(Navigation in Ionic 3)

Ionic雖以Angular做為流程運作的基礎,然而,在頁面瀏覽 (navigation) 機制方面,卻非直接採用Angular Router模組的運作方式,而是使用「堆疊」(navigation stack)的概念。


如圖,堆疊最上方的頁面元件是目前可視頁面。當要瀏覽其他頁面元件時,則使用push(),將該元件堆到堆疊上方即可(例如上圖的push(Page3))。相反的,回到前一頁,則使用pop()(如圖左,pop()後,回到Page2)。