我正在开发一个文本编辑器。我希望用户处理最新的草稿,同时也让审查倒数第二个草稿。
我尝试了以下方法:
App.ReviewerRoute = Ember.Route.extend({
model: function() {
var allDrafts = this.store.all('draft');
var secondToLastDraft = allDrafts[allDrafts.length-2];
return secondToLastDraft;
}
});
然后我尝试了:
App.ReviewerRoute = Ember.Route.extend({
model: function() {
var allDrafts = this.store.all('draft');
var secondToLastDraft = this.store.find('draft',[allDrafts.length-2]);
return secondToLastDraft;
}
});
没有一个返回草稿。
我主要关心的是我只想检索一份草稿以便使用对象 Controller 。如果有任何建议,我将不胜感激。
编辑: 这就是问题所在。 每个文件都有很多草稿。用户应该有权访问给定文档的最新两个草稿。 我假设我不需要草稿的 EmberArrayController,因为只需要最后两个草稿,它们也应显示在两个不同的模板/组件/ View 中。 最让我困惑的是我应该把方法放在哪里返回,比如说,最后的草稿。 在 Rails 中,我将其作为 Draft 模型的类方法。 感谢到目前为止的帮助。
Github repo :https://github.com/den1k/whiteink/tree/master/ember
最佳答案
使用objectAt
:
App.ReviewerRoute = Ember.Route.extend({
model: function() {
var allDrafts = this.store.all('draft');
var count = allDrafts.get('length');
return allDrafts.objectAt(count-2) || allDrafts.objectAt(count-1);
}
});
关于javascript - 使用 Ember.js 从模型中检索最后一条和倒数第二条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23678667/