Я работаю с нокаутомJS, и у меня есть ошибка, когда я хочу закрыть блок div
или h
html tag. код My Javascript, где происходит ошибка:ошибка при работе с нокаутомJS видна
function myModel(){
this.flags = false;
this.getFlag = ko.computed(function(){
if(this.flags == false){
this.flags = true;
}else{
this.flags = false;
}
console.log(this.flags);
return this.flags;
});
}
ko.applyBindings(new myModel());
Мой HTML:
<button data-bind="click: getFlag">Click button</button>
<h3 data-bind="visible: getFlag()">test visible</h3>
Когда я нажимаю мою кнопку у меня есть это сообщение в консоли браузера:
false Uncaught Error: Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.knockout-3.3.0.js:44 gknockout-3.3.0.js:83 (anonymous function)
Когда я пишу мой код javascript без функции ko.computed()
this.flags = false;
this.getFlag = function(){
if(this.flags == false){
this.flags = true;
}else{
this.flags = false;
}
console.log(this.flags);
return this.flags;
};
У меня есть это сообщение в консоли браузера:
истинного
При нажатии на кнопку у меня есть false
и т.д. true
false
true
false
но visible
не работает. В чем проблема?
этот код не работает во мне, в результате у меня есть в консоли true false true false false –
flags variable in function g etFlag() изменяет его значение, но глобальные флаги изменений не меняют его значение –
Хорошо, я пропустил пару вещей в вашем посте. Обновлен мой ответ. –