0

我在绑定中有以下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 未定义”。

为什么完全相同的绑定语法适用于 text 而不是 attr 绑定?

谢谢你的帮助。

更新:我正在使用Breezejs,它使用元数据创建observableArray. 我做了更多的测试,发现当字段为 type 时绑定失败integer。我传入了名称字段并且绑定工作正常。我也尝试过Id.toString(),但仍然得到 Id undefined 错误。如下所示,我正在考虑使用计算来解决问题。如果这是唯一的解决方案,我认为最好扩展微风实体,使其流经任何下游视图模型。

4

1 回答 1

0

您需要一个名为 linkUrl 的计算 observable。

self.linkUrl = ko.computed(function(){ return $root.link + id; });

http://knockoutjs.com/documentation/computedObservables.html

于 2013-05-21T02:38:23.733 回答