如何使用Knockout.js绑定查询字符串参数?

时间:2012-02-13 15:57:09

标签: knockout.js

我有以下代码:

<div data-bind="foreach: roomba">
  <h3 data-bind="text: name"></h3>
  <a href="/arena/bots/status?id=1234">View Status</a>
</div>

我的困境是我希望锚标记中的id参数绑定到当前正在迭代的roomba的id。我该怎么做?

3 个答案:

答案 0 :(得分:11)

尝试在视图绑定中定义URL。然后在data-bind =“attr”

中绑定到该url

看一下这个例子:

<ul id="MemberSearch" data-inset="true" data-bind="foreach: members">    
<li> <a  data-bind="attr: { href:Url},text:Name"></a></li>
</ul>

然后在你的模特中

function Member(data) {
            this.Name = ko.observable(data.FirstName + ' ' + data.LastName);
            this.Url = ko.observable("/member/details/"+data.Id);
        }

答案 1 :(得分:7)

你应该可以这样做

<a data-bind="attr: { href: '?id=' + $data.id}"></a>

无论如何为我的榜样工作

答案 2 :(得分:4)

也许你可以使用attr绑定?