最近の pdate で、ルーターとコントローラーでは、this.store.find('model')
を簡単に実行できることがわかりました。ただし、ルーターやコントローラーにないfind
を呼び出す必要のある関数がいくつかあります。では、Emberアプリのどこからでもインスタンスstore
を取得するにはどうすればよいですか?
App.__container__.lookup('store:main')
を実行できる最悪の事態が発生することはわかっていますが、それを避けようとします。
[〜#〜] transition [〜#〜] ドキュメントによると、これを実行してストアをコンポーネントに挿入できます。
App.inject('component', 'store', 'store:main');
'component'
を'view'
または'model'
に変更できる場合がありますが、それについてはよくわかりません。
あなたはやろうとすることができます
this.get('controller').get('store').find('model')
たとえば、ビューでは問題が発生します。
できるよ
App.Model.store.find('model')
フィルタリングする特定の属性がある場合は、次のことができます。
App.Model.store.find('model', {'attribute_name' : 'matching_to_this_value'})
Emberデータ1.0.0-beta.X
:
App.YourModelType.store.find("yourModelType", someId).then(
function(modelInstance) {
...
});