【发布时间】:2011-10-03 13:37:18
【问题描述】:
我收到以下错误:
Microsoft JScript 运行时错误:无法解析绑定属性。
消息:TypeError:预期对象;属性值:可见:IsVisible('Area')
我正在尝试根据一些评估隐藏/显示我的 html 元素。这是我的代码:
var viewModel = {
propertyTypeList: ko.observableArray([]),
selectedPropertyType: ko.observable(""),
visibleFeatures: ko.observableArray([]),
IsVisible : function(featureName){some logic here}
};
这是视图:
<div class="editor-field">
<select data-bind="options: propertyTypeList,
optionsText: 'PropertyTypeName',
value: selectedPropertyType,
optionsCaption: 'select property type...'">
</select>
</div>
<div class="editor-label" data-bind="visible: IsVisible('Area')">
Area
</div>
<div class="editor-label" data-bind="visible: IsVisible('Bedroom')">
Bedroom
</div>
函数IsVisible 将根据selectedPropertyType 和功能名称进行一些评估,并将返回真或假。
【问题讨论】:
-
应该可以;一个类似的例子适用于我 > jsfiddle.net/EhEsd 。选择数据绑定是否有效?
-
文本和值绑定对我有效,如果视图模型中有布尔属性,则可见绑定有效。当它是一个函数时不起作用
-
你能在 IsVisible 函数中展示你在做什么吗?它应该返回一个真/假。您上面的代码看起来已经设置好了,还有其他原因导致了这个错误。
-
你是对的。我认为 IsVisible 的返回类型不正确
-
Pinakin Shah,我想你已经解决了这个问题。您能否发布您的解决方案并将其标记为已接受的答案以帮助社区?
标签: knockout.js