Используя knockout
и knockout mapping
, как я могу перехватить запись свойства?Как перехватить запись с помощью библиотеки отображения нокаута
Что я пробовал:
var data = { someBool: false, someOther: 'test value' };
var vm = ko.mapping.fromJS(data);
viewModel.someBool = ko.computed({
read: function() { return this.someBool(); }
, write: function (value) { this.someBool(value); $("#out").append("<br/>writing " + value); }
, owner: this
});
ko.applyBindings(vm);
Я получаю следующее сообщение об ошибке при загрузке в ЯШ: Uncaught TypeError: Object [object global] has no method 'someBool'
Живые JS здесь: http://jsbin.com/exokav/1/edit
Просто пытаюсь добавить некоторые $ (» #out ") div, который у меня есть, но позже я хотел бы написать localStorage
, чтобы сохранить состояние для пользователя. Благодарю.
Что вы пытаетесь достичь? Почему вы просто «подписываетесь» на свойство 'someBool'? http://jsbin.com/exokav/2/edit – nemesv
Возможно, 'subscribe' - это то, что я ищу! Как мне это сделать? В конечном итоге я пытаюсь создать способ обновить 'localStorage' всякий раз, когда пользователь переключает этот флажок, который является' data-bind' в '.someBool'. более подробно в сообщении, «но позже я хотел бы ...» –