如何通过GUID查找Ember对象? (使用Em.guidFor检索)

时间:2013-09-09 07:49:37

标签: ember.js

您可以使用Ember.guidFor检索Ember对象的GUID。它将返回如下内容:

"ember768"

还有一种方法可以向后执行此操作(根据GUID检索对象)吗?

我知道有Ember.View.views可以保存由其GUID索引的所有Ember视图。任何Ember对象都有类似的东西。

2 个答案:

答案 0 :(得分:2)

这就是我在进行查找的方式。仍然试图看看是否有办法更直接地获取它而不是循环但它可以工作。

DS.Store.reopen({
  findByGuid: function(type, guid) {
    return this.typeMapFor(type).records.find(function(item) { return Em.guidFor(item) == guid; });
  }
});

使用方式:

store.findByGuid(MyModelType, "ember768");

HTH

N.B。为了清楚起见,上面假设你知道你正在寻找的对象的类型。如果不这样做,一个解决方案是迭代store.get('typeMaps')然后迭代每个'records'数组。看起来有点讨厌,但必须使用N * N循环!

答案 1 :(得分:0)

据我所知,你不能。你想要完成什么?如果您只想查看对象的内容,可以使用ember chrome扩展名。