Как передать can.compute в can.Component?
Как я могу передать вычисления в компоненты, так что изменение значения в выбранном в одном компоненте повлияет на значение в другом компоненте.
пример
http://jsbin.com/feleko/1/edit?html,js,console,output
Я пытаюсь настроить его так, чтобы выбор значения в первом выборе изменял параметры, доступные во втором. Я думаю, что прослушивание событий dom change должно быть простым, но я не получаю вычислений, которые я могу обновить, или у меня нет доступа к родительской области видимости, чтобы использовать имя атрибута для его обновления. Аналогично, максимальное значение не является активным объектом, который получает обновления.
1 ответ
Я нашел навязчивый способ. can.mustache предоставляет data
помощник, который помещает текущий контекст в данные элемента.
<select {{data 'context'}} value="a">
Затем в событии init я могу захватить данные элемента и назначить их области действия, чтобы они были доступны для функций области.
events: {
init: function(el, opt) {
opt.scope.context = el.data('context')
}
}
Поиск значений возможен, если неудобно.
this.context[this.attr('value')]