Ember.js 模型更新后更新模板
我正在尝试创建一个曲目列表页面。在这一页上,我们有他们的名字,艺术家等歌曲。当用户为歌曲投票(向上/向下)时,应更新投票数并重新筛选列表,以便投票最多的歌曲位于列表中的第一首 到目前为止,这是由服务器完成的。但是,我们正在努力避免Ember.js 模型更新后更新模板,ember.js,ember-data,Ember.js,Ember Data,我正在尝试创建一个曲目列表页面。在这一页上,我们有他们的名字,艺术家等歌曲。当用户为歌曲投票(向上/向下)时,应更新投票数并重新筛选列表,以便投票最多的歌曲位于列表中的第一首 到目前为止,这是由服务器完成的。但是,我们正在努力避免get请求,以便只需为投票做一次post 获取要更新的票数非常简单: route.store.find('Track', track_id).then(function (track) { track.set('votes', t
get
请求,以便只需为投票做一次post
获取要更新的票数非常简单:
route.store.find('Track', track_id).then(function (track) {
track.set('votes', track.get('votes') + 1);
});
但是在搜索Google和Ember文档一段时间后,似乎没有太多关于结果排序的内容,因此当我更新a模型上的属性时,模板上的顺序也会更新
型号:
App.Track = DS.Model.extend({
name: DS.attr('string'),
artist: DS.attr('string'),
picture: DS.attr('string'),
votes: DS.attr('number'),
voted: DS.attr('boolean'),
vote_type: DS.attr('boolean')
});
控制器:
App.TracklistingController = Ember.ArrayController.extend({
sortProperties: ['votes'],
sortAscending: false
});
我使用以下方法获取当前列表中的曲目:
return route.store.all('Track');
这是我们在Ember做的第一个项目,所以我只是Ember世界的新手,不知道这里出了什么问题。我相信问题在于你获取曲目的方式。您不应该直接从商店访问它们 尝试将TracklistingController重命名为TrackController。通过这种方式,ember可以将其直接绑定到您的模型,然后在轨迹模板内部使用“model”变量迭代所有轨迹(这是由ember自动创建的) 这是从我的头顶,我希望它有帮助 编辑: 查看此链接,它解释了如何正确操作:您应该使用。如果要更新到ember 2,请不要使用控制器,因为控制器将被去除润滑。