[英]Ember.js view value to controller binding
假設我有一個this.controller
是application_controller
的view
,那么如何將該視圖的value
綁定到another_controller
。 視圖是一個TextField
。
視圖(此視圖的上下文中有一個application_controller):
CellarRails.SearchTextField = Ember.TextField.extend({
templatename: 'index',
insertNewline: function(){
this.get('controller').transitionToRoute('search');
}
});
搜索控制器:
CellarRails.SearchController = Ember.ArrayController.extend({
content: [],
query: ''
});
搜索路線(在這里,我獲取要綁定到視圖的搜索控制器的查詢屬性):
CellarRails.SearchRoute = Ember.Route.extend({
serializeParams: function(controller) {
return {
query: controller.get('query')
};
},
setupController: function(controller, context, params) {
console.log(params);
controller.set('context', CellarRails.Track.find(params));
}
});
我可以擴展應用程序控制器並添加needs: 'search'
,以便執行this.controller.search.get('query')
以獲得搜索控制器的查詢屬性嗎?
您幾乎自己回答了這個問題,這是最后一點。
添加需求后,您可以執行以下操作:
this.get('controllers.search').get('query');
希望能幫助到你。
只是一些注意事項,是的,您可以擴展應用程序控制器並添加需求搜索
CellarRails.ApplicationController = Ember.Controller.extend({
needs: ['search'],
someMethod: function(){
// this would be the query property from the search controller
var query = this.get('controllers.search.query');
}
});
另外,也許這部分對您有用,如果是的話,請忽略我,但我不相信setupController掛鈎具有3個參數。
setupController: function(controller, model) {
controller.set('model', model);
or
this._super(controller, model);
}
模型掛鈎是獲取參數的那個,並且ember將其傳遞給設置控制器
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.