从存储操作数据
Manipulating data from store
我想操纵我从store
对象(this.store.find('...')
等)获得的数据,如限制(我不能只是向API发送限制,因为我现在只是使用固定装置)或逆转结果。
对于限制,我已经尝试实现limit
助手并在each
块(#each (limit recentItems 5) ...
)中调用它;
import Ember from 'ember';
export default Ember.Helper.helper(function(params) {
return params[0].slice(0, params[1]);
});
我不知道为什么它不起作用,但似乎结果对象不是数组,因此我无法切片。
谢谢。
操作模型正是您的路由上的afterModel
方法的作用。
它通过了你的解析模型(所以你不必担心承诺),你可以修改它到你的核心内容。
App.PostsRoute = Ember.Route.extend({
afterModel: function(model, transition) {
// Modify the model here
}
});
afterModel文档编辑:评论讨论后的附加建议…
如果你想获取一个额外的模型(在模型钩子之外),并在控制器上访问它,那么你可以在路由上的setupController钩子中获取它,并在控制器上设置它之前在那里修改它。
setupController: function(controller, model) {
// Default functionality
this._super(controller, model);
// Create items ArrayProxy and set it on the controller
var arr = Ember.ArrayProxy.create({});
controller.set('recentItems', arr);
// Fetch additional model
this.store.find('items').then(function(items) {
// Promise has resolved by this point
var i = 0;
// Iterate over first 5 returned items
while (i < 5) {
// Add each item to recentItems property on controller
controller.get('recentItems').addObject(items[i]);
}
});
}
setupController文档
相关文章:
- 用程序搜索JQuery数据表中的文本
- 要求输入在数据列表中
- 正在将数据主题添加到所有项目
- 函数参数中的数据与指定变量之间的任何性能差异
- 在VanillaJS中模拟模型双向数据绑定
- CSS-如何定位内容数据标题
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 序列化数据属性中对象的最可靠方法
- 如何将JSON数据导入我的ejs模板
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 画布数据到图像
- 使用jquery将mysql数据获取到新的表行中
- 使用html中的外部javascript进行数据验证
- 有时数据是't显示在浏览器中
- TypeError: 使用 Jquery JSON 获取数据时无效的 'in' 操作数 obj
- 无效的“in”操作数 obj JQUERY - 尝试从 JSON 获取数据时出现类型错误
- Getting TypeError:无效'在'使用ajax获取数据时的操作数obj
- 操作数组数据以实际保存、写入和更改数据内容