Ember.js按名称查找模型项,然后将其添加到现有的不同模型hasMany记录中
Ember.js look up a model item by name, and then add it to an existing different model hasMany record
伙计们,我无法理解。我已经挣扎了好几个小时了。我有一个文章模型,可以有多个类别:
// parent
App.Article = DS.Model.extend({
name: DS.attr('string'),
category: DS.hasMany('category')
)};
// child
App.Category = DS.Model.extend({
name: DS.attr('string')
});
通过点击自动完成组件结果,执行以下操作:
addCategory: function (categoryName) {
// for the sake of simplicity a default name
categoryName = 'car';
// find category instance by name
this.store.find('category').then(function(category) {
var categoryItem = category.filterBy('name', categoryName);
// get categories and add the category to it
this.get('category').pushObject(categoryItem);
});
},
你应该思考的问题是什么。好吧,问题是没有错误,一切似乎都很好。
但是:
- 当我在Ember Inspector中查看时,我清楚地看到了一个新的文章记录,我看到了已经创建的类别。但hasMany Category记录中没有添加任何类别
所以问题是,如何首先查找Category项,然后将其添加到文章的hasMany记录中?
大编辑:我删除了一些不相关的代码和文本。希望我的问题现在更清楚了。
哇!我可以回答我自己的问题。我对使用.then
函数的this
感到困惑。
我还清理了我的代码如下:
addCategory: function (categoryName) {
var self = this;
// find category model by name
this.store.find('category').then(function(category) {
self.get('category').pushObject(category.findBy('name', categoryName));
});
}
非常感谢您的光临。
相关文章:
- 更新成员数据模型中的记录列表
- 如何观察在 Sails .js 中添加到模型中的新记录
- Ember.js按名称查找模型项,然后将其添加到现有的不同模型hasMany记录中
- 如何在模板中循环遍历数据模型中的每个记录
- Ember.js——如何对模型进行控制台日志记录
- 模型没有'在Emberjs中删除记录后不会更新
- 如何为模型中的类似记录设置另一个名称,以便与ext js中的表单字段进一步绑定
- 无法使用 store.getById() 从存储中读取模型记录
- 从不同的控制器 Ember.js 向模型添加新记录
- Meteor.js,根据模板数据更新视图值,但不更新记录本身(即仅视图模型)
- 尝试在列模型 ExtJS 3.3.1 中记录隐藏和非隐藏列
- 如何更新成员模型中的记录
- 如何在不触发模型生命周期回调的情况下更新SailsJS中的记录
- 保存模型记录不起作用(Spine)
- 将多条记录添加到模型's系列帆船
- 在setupController中,EmberJS$.ajax记录获取返回未定义的模型
- 绑定带有单个记录的简单视图模型
- AngularJS获取单个模型记录用于在模态中编辑
- Rails:如何从没有模型和DB记录的复选框中创建数组
- 在ExtJS中获取基于grid's记录/模型的行HTML元素