2017-08-01 44 views
0

在我的離子應用程序中,我有一個可以編輯和保存信息的頁面。其中一個信息是圖像。要選擇一個新的圖像,它的目的是要導航到一個頁面,其中包含可供選擇的圖像。如果我離開頁面並回到頁面,更改將消失 - Ionic App

因此,如果用戶更改其他文本字段,然後嘗試更改圖像,他必須離開頁面才能選擇新圖像。但是一旦他在圖像選擇之後回來,所有其他變化都消失了,並回到了舊數據。

我想要其他信息在用戶回到頁面後保留。

這裏是我當前的代碼:

<div class="content content-top content-bottom"> 
      <ch-device-avatar ng-model="client" ch-size="xxlarge" ch-color="light" 
           ng-click="go(STATES.DEVICES_EDIT_ICON, {'macAddress': macAddress})"> 
       <ch-avatar ch-icon="ion-edit" ch-size="small" ch-color="positive"></ch-avatar> 
      </ch-device-avatar> 
     </div> 

     <form id="client-form" class="form" name="forms.clientForm" ng-submit="save()" novalidate> 
      <label class="item item-input item-floating-label" ch-input-container> 
       <span class="input-label">{{ 'main.label-device-name' | i18n }}</span> 
       <input type="text" name="name" placeholder="{{ 'main.label-device-name' | i18n }}" autocomplete="off" 
         ng-model="client['name']" ng-maxlength="64" required> 
      </label> 
      <div ng-messages="forms.clientForm.name.$error" role="alert" ch-messages="name" multiple> 
       <div class="hint hint-error" ng-message="required">{{ 'common.error-required' | i18n }}</div> 
       <div class="hint hint-error" ng-message="maxlength">{{ 'common.error-max-length' | i18n:'65' }}</div> 
      </div> 
     </form> 

回答

0

這是因爲成分被破壞,一旦你從頁面導航離開[默認角行爲]

您可能需要使用共享的。用於將信息保存到服務變量的服務,以便一旦你回來,如果它們不是空的,你可以從它們中獲取信息。

你甚至可以爲這個解決方案提供像Firebase這樣的實時數據庫。

Link

Refrence與組件的路由器出口新的實例與 創建每個導航,當您導航到另一個 成分被破壞。每次導航到組件時,組件的構造函數和它的init鉤子將被調用 ,並且每當您離開時,都會調用ngOnDestroy()將調用 。

更多關於共享服務link