用户单击链接。我想做两件事:
- 更新模型数据。
- 显示模型已更改的通知。
所以我可以对调用控制器上的函数的链接进行操作。从那里我可以轻松地更新模型数据。UI应该如何更新?以及如何仅在数据成功保存在服务器上后才显示通知?
用户单击链接。我想做两件事:
所以我可以对调用控制器上的函数的链接进行操作。从那里我可以轻松地更新模型数据。UI应该如何更新?以及如何仅在数据成功保存在服务器上后才显示通知?
这是取自Yehuda 评论的一个简单示例,这可能涵盖几种情况,具体取决于您要执行的 UI 更新类型。
App.NewUserRoute = Ember.Route.extend({
model: function() {
return App.User.createRecord();
},
events: {
save: function(user) {
user.one('didCreate', function() {
this.transitionTo('showUser', user);
}, this);
this.get('store').commit();
}
}
});
由于您的视图状态应尽可能多地取决于路由器/控制器,因此请尽量使其远离这些地方。如果您需要其他一些真正仅限视图的 UI 更新,请将操作发送到视图并将与数据相关的事件从那里发送到路由器/控制器。您应该可以从这里设置回调等。