我是淘汰赛的新手。我有一个带有交易列表的viewmodel。我在页面左侧显示了几个字段。当用户将鼠标悬停在其中一个上面时,我想在页面右侧显示tade的详细信息。 我的viewmodel看起来像这样
var self = this;
self.selectedTrade = ko.observable(null);
self.trades = ko.observableArray();
self.selectTrade = function (item) {
self.selectedTrade(item);
}
当用户将鼠标悬停在左侧的某个项目上时,会调用selecttrade,因此selectedTrade会有一个值。我在选定的贸易区右边有一个div。
<ul data-bind="template: {name: 'tradelist', foreach: trades}" />
<script id='tradelist' type="text/html">
<li> <span data-bind="text: Cname, event: { mouseover: $root.selectTrade } "/>  <span data-bind="text: Cparty"/></li>
</script>
</div>
<div data-bind="template: {with: selectedTrade(), name: 'displayTradeTemplate' }" />
<script id='displayTradeTemplate' type="text/html">
<table>
<tr>
<td>
Contract Name:
</td>
<td>
<span data-bind="text: Cname">
</span>
</td>
</tr>
</table>
当我加载页面时,javascript compains: Microsoft JScript运行时错误:无法解析绑定。 消息:SyntaxError:预期的标识符,字符串或数字; 绑定值:template:{with:selectedTrade(),name:'displayTradeTemplate'}
任何人都知道该绑定有什么问题。
答案 0 :(得分:1)
在该模板绑定
中使用data:
代替with: