如何在选择更改上触发控制器上的方法并将选择传递给方法?像这样:
模板:
{{view Em.Select content=users optionValuePath='content.id' optionLabelPath='content.firstName'}}
控制器:
assignUser: (user)->
console.log user
提前感谢您的帮助。
答案 0 :(得分:2)
您可以将选择绑定到控制器属性,然后观察该属性。例如:
{{view Ember.Select
content=users
optionValuePath="content.id"
optionLabelPath="content.firstName"
selection=controller.selectedUser}}
现在更新您的控制器:
App.RouteController = Ember.ArrayController.extend({
selectedUser: null,
selectedUserDidChange: function () {
if (this.get('selectedUser')) { // You might want more logic than this...
this.assignUser();
}
}.observes('selectedUser'),
assignUser: function () {
console.log(this.get('selectedUser'));
}
});
答案 1 :(得分:1)
您可以将value
属性传递给当前选择的视图:
{{view Em.Select content=users value=selectedUser optionValuePath='content.id' optionLabelPath='content.firstName'}}
然后,在您的控制器中,您可以访问selectedUser
:
doSomethingOnSelect: function() {
var selected= this.get('selectedUser');
// go do something with selected
}.observes('selectedUser')