用户单击一个链接。 我想做两件事:
- 更新模型数据。
- 显示有关模型已更改的通知。
因此,我可以对链接进行操作,该链接在控制器上调用函数。 从那里我可以轻松地更新模型数据。 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更新,则将操作发送到视图,并将与数据相关的事件从那里发送到路由器/控制器。 您应该可以在这里设置回调等。