Javascript 如何使用文本绑定在kncokout.js中显示选中值?
我在JFiddle上做了一个简单的例子。我做了三个复选框,然后使用Javascript 如何使用文本绑定在kncokout.js中显示选中值?,javascript,knockout.js,Javascript,Knockout.js,我在JFiddle上做了一个简单的例子。我做了三个复选框,然后使用data bind=“checked:”将它们与knockout.js绑定,我想用span显示它们的值,但我只能看到第一个复选框的值 例如: 似乎在没有绑定的情况下运行文本会正常运行,所以可能是knockout.js有问题,我尝试过使用“p”,结果是一样的 var MainViewModel={ 第三个绑定:ko.observable(), 第二个绑定:ko.observable(), firstBinding:ko.obser
data bind=“checked:”
将它们与knockout.js绑定,我想用span
显示它们的值,但我只能看到第一个复选框的值
例如:
似乎在没有绑定的情况下运行文本会正常运行,所以可能是knockout.js有问题,我尝试过使用“p”,结果是一样的
var MainViewModel={
第三个绑定:ko.observable(),
第二个绑定:ko.observable(),
firstBinding:ko.observable()
}
ko.应用绑定(MainViewModel)代码>
页面加载firstBinding()
未定义。因此,当您尝试读取firstBinding().toString()
时,会出现一个错误
无法读取未定义的属性“toString”
按F12并检查控制台。您将看到此错误
要避免这种情况,您可以
1)将默认值false
设置为加载时可观察的值。这样firstBinding().toString()
在加载时不会失败。默认情况下,跨距将显示false
()
或者
2)您可以像这样将firstBinding
绑定到span
。让knockout对可观察对象进行展开,检查其是否为null
或未定义
():
这里有一个工作片段。(单击RunCodeSnippet进行测试)
var MainViewModel={
第三个绑定:ko.observable(),
第二个绑定:ko.observable(),
firstBinding:ko.observable()
}
ko.应用绑定(MainViewModel)代码>
var MainViewModel = {
thirdBinding: ko.observable(false),
secondBinding: ko.observable(false),
firstBinding: ko.observable(false)
}