テンプレート内でヘルパーを使用してrenderいます。これは、先行入力で検索ボックスをレンダリングします。
本質的に(簡潔にするためにコードを削除しました):
script(type='text/x-handlebars', data-template-name='index')
{{render search}}
script(type='text/x-handlebars', data-template-name='search')
{{view App.TaggableInput valueBinding="searchText"}}
これにより、SearchControllerから分離されたが得られますIndexController。
内部App.TaggableInputでは、keyUpsearchControllerイベントのチェックを行っています。
App.TaggableInput = Ember.TextField.extend({
keyUp: function(e){
var controller = this.get('controller');
// Do stuff with the controller
}
});
Ember RC7 では、期待どおり、ビュー内のコントローラーにアクセスできますthis.get('controller').get('searchText')。
ただし、Ember 1.0.0this.get('controller')ではビューが返され、何をしても取得できませんsearchController。
何が変更されたか、または何をすべきかについて、ember Web サイトで関連情報を見つけることができません... 今のところ、私は RC7 を使用しています。
何か案は?私は今朝何時間も費やしましたが、理解できません。ありがとう。
更新: 修正済み!
に交換しましたthis.get('controller')がthis.get('targetObject')、以前と同じように機能します。それを見つけるために、emberソースの最近のコミットを熟読しました...
あなたの提案をありがとう!