// HTML
<button class='btn btn-success uppercase btn-lg active' data-bind="click: showVideoTool, css: {active: activeVideoTool}">Video Tool</button>
// Javascript
self.showVideoTool = function() {
// Checking if the value is true then make it false
if (self.activeVideoTool == true) {
self.activeVideoTool(false);
} else {
self.activeVideoTool(true);
}
}
self.activeVideoTool = ko.observable();
当您看到代码时,我想捕获activeVideoTool observable的当前值,以便知道我是否会将其设为true
或false
我必须在这里做错事。任何人都可以对此有所了解吗?
答案 0 :(得分:1)
我认为你正在寻找一个可计算的观察者。
变化:
self.showVideoTool = function() {
// Checking if the value is true then make it false
if (self.activeVideoTool == true) {
self.activeVideoTool(true);
} else {
self.activeVideoTool(false);
}
}
为:
self.computedShowVideoTool = function() {
// Checking if the value is true then make it false
if (self.activeVideoTool == true) {
self.activeVideoTool(true);
} else {
self.activeVideoTool(false);
}
}
self.showVideoTool = ko.computedObservable(self.computedShowVideoTool, self);
当activeVideoTool将来发生变化时,它将触发computedObservable函数。
答案 1 :(得分:1)
if (self.activeVideoTool == true)
self.activeVideoTool
是一个可观察的:
self.activeVideoTool = ko.observable();
这是一个功能,而不是财产。要获得它的价值,您需要调用该函数:
if (self.activeVideoTool() == true)
这是淘汰赛的常见问题,因为当你声明一个绑定时,淘汰赛会自动为你解开你的观察点。