私のアプリケーションでは、すべてのルートでノードにアクセスする必要があるため、App.Nodes.find()
早めに (で) 強制しています。ApplicationRoute.setupController
ノードを取得するには、次のアプリケーション メソッドを使用します。
var App = Ember.Application.createWithMixins({
...
getNode: function (nodeId) {
var nodes = this.Node.find();
var node = nodes.findProperty('id', nodeId);
return node;
},
...
});
しかし、これは毎回リクエストをトリガーしています。これを避けるために、rawNodes
キャッシュを保持しています。
cacheNodes : function () {
this.set('rawNodes', this.Node.find());
},
しかし、ember がストアに持っているものとは別のキャッシュを保持するのは好きではありません。手動で同期を維持する必要があるからです。
新しいデータを要求するのではなく、ストア内のデータを再利用したい。nodes
ストアへのアクセス方法を教えてください。