knockout.js中未定义的值
我已经定义了一个函数,比如knockout.js中未定义的值,knockout.js,Knockout.js,我已经定义了一个函数,比如self.loadInfected=function(){ko.observable(true);} 并尝试在另一个函数上打印,如 self.loadAffectedChanged = function() { // clear "Road Blocked" when Load Affected is selected **alert(self.loadAffected());** if (self.loadAffected === false)
self.loadInfected=function(){ko.observable(true);}
并尝试在另一个函数上打印,如
self.loadAffectedChanged = function() {
// clear "Road Blocked" when Load Affected is selected
**alert(self.loadAffected());**
if (self.loadAffected === false)
self.groupable(false);
else
// clear "Groupable" when Load Affected is cleared
self.roadBlocked(false);
};
通过类似HTML的方式调用上述函数
<input type="checkbox" data-bind="jqmChecked: loadAffected, click: loadAffectedChanged"
name="load_affected" id="load_affected"/>
当我点击复选框时,它会弹出未定义的弹出框,
有人能帮忙解决这个问题吗?self.loadInfected()
将始终为您提供未定义的
,因为它只是一个不返回任何内容的函数。我不确定jqmChecked的功能是什么,但我不知道它与问题有关
您应该将代码更改为:
self.loadAffected = ko.observable(true); // now loadAffected is an observable
self.loadAffectedChanged = function() {
// you need to add the parentheses here to read the value of loadAffected observable
if (self.loadAffected() === false)
self.groupable(false);
else
// clear "Groupable" when Load Affected is cleared
self.roadBlocked(false);
};
谢谢你的回复,但是上面的更改总是只检查其他部分。即使我们尝试使用if(self.loadInfected()==true),它也会转到其他部分。你能提供其他建议吗?我认为这与这个问题无关。您的自定义绑定一定有问题
jqmChecked
。