2

Ember Data を使用した Ember.js と Node.js を介した Socket.IO を活用するアプリを作成しています。次のように、ソケット応答からデータを受信し、それを Ember Data ストアにロードする最良の方法を見つけようとしています。

window.socket = io.connect('http://localhost');

socket.on('action here', function(response) {
  // how to load "response" JSON data into Ember Data store from here...?
});

カスタム DS.Adapter を作成するための最良の (または唯一の) ソリューションはありますか? または、これを達成するための別の優れた保守可能な方法はありますか?

4

2 に答える 2

4

最善の方法は、独自のアダプターを作成することですが、モデルをロードするだけでよい (保存しない) 場合は、アダプターのloadメソッドを使用できます。次のようなものです。

socket.on('single-model', function(response) {
    DS.defaultStore.load(response);
});

socket.on('multiple-models', function(response) {
    for(i in response){
        DS.defaultStore.load(response[i]);
    }
});

アダプターを として定義しFixtureAdaptorます。

于 2013-02-27T15:21:21.313 に答える
1

記録のために、私はここで提案された答えに行き着きました:

https://stackoverflow.com/a/14508316/1470194

その Ember.Instrumentation 手法を使用して、コントローラーへの呼び出しを容易にし、その方法でストアにアクセスすることができました。

多くの場合、カスタム アダプターを作成する必要があるかもしれませんが、それは私のプロジェクトの必要な範囲を超えていたため、このソリューションは完璧でした。

于 2013-03-06T13:10:17.937 に答える