Ember 每次加载页面时加载变量
Ember load variable everytime page is loaded
我想要在我的路由器或控制器中使用一个名为 "name" 的变量,我将在我的 hbs 模板中使用它。现在,我正在做这个。但是如果我向后导航并再次单击 link 到当前页面,则 get() 不会加载。它只加载第一次,如果我刷新页面。因此,每次我点击页面时,我的表单中的名称值都不会重新加载。
#controller
name: computed('model.name', {
get() {
return this.get('model.name');
}
})
#.hbs
{{input type = "text" value=name }}
<button {{action 'update' model.id }}>Update Post</button>
#routefile
import Route from '@ember/routing/route';
import EmberObject, { computed } from '@ember/object';
export default Route.extend({
model(params) {
return this.get('store').findRecord('post',params.post_id );
}
});
您需要添加一个 set
方法,否则您声明的计算 属性 将被输入值覆盖(通过 {{input}}
帮助程序).
name: computed('model.name', {
get() {
return this.get('model.name');
},
set(key, value) {
return value;
}
})
我想要在我的路由器或控制器中使用一个名为 "name" 的变量,我将在我的 hbs 模板中使用它。现在,我正在做这个。但是如果我向后导航并再次单击 link 到当前页面,则 get() 不会加载。它只加载第一次,如果我刷新页面。因此,每次我点击页面时,我的表单中的名称值都不会重新加载。
#controller
name: computed('model.name', {
get() {
return this.get('model.name');
}
})
#.hbs
{{input type = "text" value=name }}
<button {{action 'update' model.id }}>Update Post</button>
#routefile
import Route from '@ember/routing/route';
import EmberObject, { computed } from '@ember/object';
export default Route.extend({
model(params) {
return this.get('store').findRecord('post',params.post_id );
}
});
您需要添加一个 set
方法,否则您声明的计算 属性 将被输入值覆盖(通过 {{input}}
帮助程序).
name: computed('model.name', {
get() {
return this.get('model.name');
},
set(key, value) {
return value;
}
})