【发布时间】:2011-07-18 11:47:42
【问题描述】:
我有一个看起来像这样的模板:
<script type="text/javascript">
var viewContext = {
nodeClicked: function(event) {
var target = $(event.target)
var data = target.tmplItem().data
viewModel.currentNode(data);
}
};
</script>
<script type="text/html">
<a class='${ Class }' data-bind='click: viewContext.nodeClicked, css: { selected: viewModel.currentNode() == this }'>${ Name }</a>
</script>
如果我的 observable 包含的值等于用于呈现该元素的数据对象,我想将 css 类应用于 HTML 元素。我的问题在于我将可观察的 viewModel 与当前数据项进行比较的部分。我试过了:
<a class='${ Class }' data-bind='click: viewContext.nodeClicked, css: { selected: viewModel.currentNode() == data }'>${ Name }</a>
它没有工作。有什么想法吗?
【问题讨论】:
-
你试过用 $data 代替普通数据吗?
-
感谢 nEEbz。 @RP Niemeyer 刚刚打败了你。
标签: knockout.js jquery-templates