在foreach中的ObservalArray中选择knockout.js自定义内容
我有以下html片段:在foreach中的ObservalArray中选择knockout.js自定义内容,knockout.js,Knockout.js,我有以下html片段: <tbody data-bind="foreach: ptData"> <tr id="Tr1"> <td><a data-bind="attr: {href: '/ProjectTrack/IssueGrid.aspx?IssueID='+ptId}">PT Launch</a></td> <td nowr
<tbody data-bind="foreach: ptData">
<tr id="Tr1">
<td><a data-bind="attr: {href: '/ProjectTrack/IssueGrid.aspx?IssueID='+ptId}">PT Launch</a></td>
<td nowrap="nowrap" data-bind="text: ptId">
</td>
<td nowrap="nowrap" data-bind="text: ptProject">
</td>
<td nowrap="nowrap" data-bind="text: ptTitle">
</td>
<td nowrap="nowrap" data-bind="text: ptPriority">
</td>
<td nowrap="nowrap" data-bind="text: ptType">
</td>
<td nowrap="nowrap" data-bind="text: ptStatus">
</td>
<td nowrap="nowrap" data-bind="text: ptUpdated">
</td>
<td nowrap="nowrap" data-bind="text: ptAssignedTo">
</td>
<td style="display: none" data-bind="text: ptUrl">
</td>
</tr>
</tbody>
我有一个jQuery ajax调用来返回填充在DataResult对象中的数据,每个DataResult对象被推送到viewModel.ptData。以下knockout.js命令在HTML代码段中似乎不起作用:
"attr: {href: '/ProjectTrack/IssueGrid.aspx?IssueID='+ptId".
我到底做错了什么?如果你想绑定到一个表达式(这里你正在用
+
构建链接),其中你有可观察的属性(ptId
),你必须像调用函数一样调用它们。所以您缺少了()
那么您就不需要在绑定中使用()
,因为现在您直接绑定到一个可观察对象:
<a data-bind="attr: { href: launchLink }">
看起来不错,你能把这篇文章贴在小提琴上吗。我没有完全理解如何正确地绑定。谢谢你的帮助。
<a data-bind="attr: {href: '/ProjectTrack/IssueGrid.aspx?IssueID=' + ptId() }">
function DataResult(ptId, ....) {
this.ptId = ko.observable(ptId);
this.launchLink = ko.computed(function(){
return '/ProjectTrack/IssueGrid.aspx?IssueID=' + this.ptId()
}, this);
}
<a data-bind="attr: { href: launchLink }">