我有这样的路线:
App.PeopleRoute = Ember.Route.extend({
model: function()
{
return App.Persons.find(personId);
}
});
Run Code Online (Sandbox Code Playgroud)
其中personId是异步加载的,是Ember之外的普通JavaScript变量.现在,当显示路径时,它将获取当前的PersonId并显示正确的数据.但是当我更改personId的值时,它不会更新视图.
所以我的问题是什么是刷新这条路线以查找新personId记录的方法?
这是因为model仅当通过 URL 输入具有动态段的路由时才会执行钩子。在这里阅读更多相关信息。
最简单的解决方案是使用transitionTo.
App.PeopleRoute = Ember.Route.extend({
model: function(params)
{
return App.Persons.find(params.personId);
},
actions: {
personChanged: function(person){
this.transitionTo("people", person);
}
}
});
App.PeopleController = Em.Controller.extend({
observeID: function(){
this.send("personChanged");
}.observes("model.id");
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2487 次 |
| 最近记录: |