Ember.js视图值到控制器绑定
Ember.js view value to controller binding
假设我有一个view
,其中this.controller
是application_controller
,那么我如何将该视图的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);
}
模型钩子是获取params的钩子,ember将其传递给设置控制器
相关文章:
- ng绑定和ng href问题.ng href未从控制器加载数据
- 将指令绑定到控制器属性
- 当显式定义控制器参数时,默认模型绑定器会发生异常
- AngularJS 1.5.x服务未正确绑定,并且未在控制器中更新
- 将角度材质设计复选框绑定到控制器中的数组
- 在将绑定应用于控制器之后,是否会发出Angular$scope事件
- Ember.js:将Em.$.getJSON转换为promise并将响应绑定到控制器上下文的正确方法
- 同一页面上两个不同控制器的Angularjs双向绑定字段
- 角度控制器不绑定服务对象属性 ng-repeat
- 在 AngularJS 中将数据从视图绑定到控制器
- 工厂和控制器之间的“绑定”
- 无法绑定到没有指令 + angularjs 标识符的控制器
- AngularJS路由未绑定控制器
- AngularJS隔离的作用域和控制器绑定
- 角度 JS - 数据未从控制器绑定到视图
- 我想要从控制器绑定iframe的src
- Ember.js视图值到控制器绑定
- Ember.js中使用{{render}} helper的嵌套控制器绑定
- 通过指令将元素添加到 DOM 并从控制器绑定范围监视(角度.js)
- 无法将更新的控制器绑定为变量以在 AngularJS 中查看