1

私のアプリケーションでは、すべてのルートでノードにアクセスする必要があるため、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ストアへのアクセス方法を教えてください。

4

1 に答える 1