Ember.js 每次加载页面时,都会加载Ember load变量
我希望在路由器或控制器中有一个名为“name”的变量,我将在hbs模板中使用它。现在,我正在这样做。但是如果我向后导航并再次单击指向当前页面的链接,则get()不会加载。它只在第一次和刷新页面时加载。因此,表单中name的值不会在每次我点击页面时重新加载Ember.js 每次加载页面时,都会加载Ember load变量,ember.js,handlebars.js,ember-data,ember.js-3,Ember.js,Handlebars.js,Ember Data,Ember.js 3,我希望在路由器或控制器中有一个名为“name”的变量,我将在hbs模板中使用它。现在,我正在这样做。但是如果我向后导航并再次单击指向当前页面的链接,则get()不会加载。它只在第一次和刷新页面时加载。因此,表单中name的值不会在每次我点击页面时重新加载 #controller name: computed('model.name', { get() { return this.get('model.name'); }
#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 );
}
});
#控制器
名称:computed('model.name'{
得到(){
返回此.get('model.name');
}
})
#.哈佛商学院
{{input type=“text”value=name}
更新帖子
#路由文件
从“@ember/routing/Route”导入路由;
从'@ember/object'导入对象,{computed};
导出默认路由。扩展({
模型(参数){
返回此.get('store').findRecord('post',params.post_id);
}
});
您需要添加一个set
方法,否则您声明的computed属性将被输入值覆盖(通过{input}
helper)
你的路线是什么样的?/模特从哪里来?在我的帖子里增加了路线。我不关心这个模型。我只想在每次访问页面时创建一个变量并将其设置为一个值
model
的值是多少?另外,您使用的是什么版本的余烬/余烬数据?model有一个名为name and content的属性。版本:ember 3.3
name: computed('model.name', {
get() {
return this.get('model.name');
},
set(key, value) {
return value;
}
})