2016-09-29 41 views
1

在模板中,我有許多輸入控件,如文本框。在餘燼路線刷新不清除輸入控件內容

我想刷新頁面,所以我在相應路由的動作哈希中調用this.refresh();。路線正在刷新(模型鉤被激發..),但用戶在文本框中輸入的文本不會消失。那麼清爽點有什麼意義呢?

如何使輸入控件以第一次加載路線時的樣子顯示?

回答

0

您需要關聯模型/控制器中的那些屬性。並重新設置setupController中的模型鉤子和控制器屬性中的模型屬性以進行刷新。餘燼不會重繪DOM除非是像ifeachwith塊幫手..

在單頁應用

整點替換值,而無需重新劃分/ refreshing..That的,我們需要如何設計應用程序。恕我直言。

但總是有灰燼的方式在燼中使它成爲可能。我不會推薦這個。

路由/ test.js

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model() { 
     return { name: 'kumkan' }; 
    }, 
    actions: { 
     clickRefresh() { 
      this.refresh(); 
     } 
    } 
}); 

控制器\ test.js

import Ember from 'ember'; 

export default Ember.Controller.extend({ 
    isRefreshed: true, 
    actions: { 
     clickRefreshh() { 
      this.toggleProperty('isRefreshed'); 
      this.send('clickRefresh'); 
     } 
    } 
}); 

這裏談到哈克部分,

模板\ test.hbs

{{#if isRefreshed}} 
    {{test-comp model=model}} 
    {{else}} 
    {{test-comp model=model}} 
{{/if}} 
<button {{action "clickRefreshh"}}> Refresh </button> 
{{outlet}} 

模板\分量\測試comp.hbs

<input type="text" value="Kumkan" /> 
{{input value=model.name}} 
{{yield}} 
1

Route Refresh就像是再次訪問的路線,所以取決於你的輸入字段被綁定到他們是依賴於你的路徑模型,

然後,他們應該充滿模型相關的數據。

如果它們沒有關聯,它們將不會被清除,如果它們相關聯,它們將被填充來自模型的數據。

+0

好吧。謝謝普爾納。 那麼我如何達到我的要求呢? –

+0

與控制器中的屬性相關聯,請重置setupController中的屬性。 – Purna

+0

沒有聯想到它不可能啊? –