2016-09-29 40 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

没有联想到它不可能啊? –