Ember.js:如何从相应的模型属性数组中获取模型ID数组

时间:2015-07-30 14:33:24

标签: ember.js ember-data ember-cli

对于我在Ember-Data中的Tag模型,我的商店中有4条记录:

标签:

id   tag_name
1    Writing
2    Reading-Comprehension
3    Biology
4    Chemistry

在我的代码中,我有一个tag_names数组,我想得到一个相应的标记ID数组。我有两个问题:

  1. 我的服务器正在被查询,即使我的商店里有这些标签。当我调用store.find('tag',{tag_name:tag_name})时,我没想到需要调用服务器。以下是我用来尝试创建ID数组的所有代码。

    var self = this;
    var tagsArray = ["Writing", "Reading-Comprehension", "Chemistry"];
    var tagIdArr = []
    tagsArray.forEach(function(tag_name) {
        return self.store.find('tag', { tag_name: tag_name }).then(function(tag) {
            tagIdArr.pushObject(tag.get('content').get('0').get('id'));
        })
    })
    return tagIdArr;
    
  2. 当我在console.log中时,上面代码的输出给了我一个长度为0的空数组对象。单击空数组旁边的插入符号显示三个具有正确数据的键值对。但阵列是空的。我确信这种行为有一个简单的解释,但我不确定为什么会这样。我在其他地方成功地使用了类似上面的代码。

1 个答案:

答案 0 :(得分:2)

查找命中服务器,但查看不会。

usertype

请参阅:http://emberjs.com/blog/2015/06/18/ember-data-1-13-released.html#toc_reorganized-find-methods