НокаутJS:в зависимости от длины кнопки включения массива
-
11-12-2019 - |
Вопрос
В проекте, который мы делаем, мы создали почтовый ящик, где пользователи (помимо прочего) могут выбирать элементы.Если пользователь выбирает элемент, кнопка должна быть включена; если ни одна не выбрана, кнопка должна быть отключена.
Достаточно просто, но хоть убей, я не могу заставить это работать :-(
Найти скрипку можно здесь: http://jsfiddle.net/rzrfp/
Полагаю, я упускаю что-то очень, очень, ОЧЕНЬ простое и глупое, но я пробовал практически все и не могу заставить это работать...
Решение
Использовать ko.computed
вместо ko.computable
.
Или еще лучше:использовать data-bind="enable: selectedItems().length > 0"
в вашем элементе кнопки.Таким образом, вы можете опустить вычисленное showButton
.
РЕДАКТИРОВАТЬ:Чтобы использовать правильный контекст, используйте var modelImpl = new myModel("myParam");
.В противном случае this
внутри модели относится к window
объект.