我在 foreach
绑定中有以下绑定:
<h5>Id: <span data-bind="text: ($root.link + id)"/></h5>
显示良好。
如果改成
<a data-bind="attr: { href: $root.link}"/>
锚导航良好(除了id
显然没有附加到末尾)。
如果我加入id
<a data-bind="attr: { href: $root.link +id}"/>
我得到'无法解析绑定…Id未定义'.
为什么完全相同的绑定语法适用于文本而不是attr绑定?
谢谢你的帮助。
更新:我使用的是Breezejs,它使用元数据创建 observableArray
。我做了更多的测试,发现当字段为integer
类型时绑定失败。我传入了name字段,绑定工作正常。我也尝试了Id.toString()
,但仍然得到Id未定义的错误。正如下面所建议的,我正在考虑使用计算机来解决这个问题。如果这是唯一的解决方案,我认为最好扩展微风实体,使其流经任何下游视图模型。
你需要一个叫做linkUrl的可观察对象
自我。linkUrl = ko.computed(function(){返回根美元。链接+ id;});
http://knockoutjs.com/documentation/computedObservables.html