Этот вопрос связан с ответом here.Ember - как создать и связать контроллер Checkbox?
Имея флажок в представлении
App.RoleCheckbox = Em.Checkbox.extend({
userRolesBinding: 'parentView.user.roles', // Points to the roles of the user
checked: function() {
var userRoles = this.get('userRoles');
return userRoles.contains(this.get('content'));
}.property('content', '[email protected]'),
click: function (evt) {
//do something
var controller = this.get("controller");
controller.clicked(evt);
}
});
Я хотел бы, что функция клик вызывает щелкнул функцию из RoleCheckboxController:
App.RoleCheckboxController = Em.Controller.extend({
clicked: function(evt){
//Really do the thing
}
});
Но это не работает. Как я могу это исправить?
JSFiddle: http://jsfiddle.net/3fMpD/
спасибо, он прояснил мне все. Я отредактировал ваш ответ, чтобы показать часть вашего кода jsfiddle. – lauhub
Другой вопрос: я не понимаю привязки, которые вы используете. Какой документ или учебник я должен прочитать, чтобы лучше понять userRolesBinding, ... вы использовали?Я не могу повторно использовать это как подзаголовок другого приложения – lauhub
Я думаю, что редактирование по какой-то причине не было одобрено. И в моем ответе есть два 'userRolesBinding':' userRolesBinding: 'parentView.user.roles'' (который подробно [здесь] (http://emberjs.com/guides/understanding-ember/the-view-layer/)) и 'userRolesBinding: 'user.roles'', который является простым связыванием. –