将当前数据项与可观察数据进行比较

时间:2011-03-18 21:14:19

标签: knockout.js jquery-templates

我有一个看起来像这样的模板:

<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 observable与当前数据项进行比较的部分。我试过了:

<a class='${ Class }' data-bind='click: viewContext.nodeClicked, css: { selected: viewModel.currentNode() == data }'>${ Name }</a>

它不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您应该使用$data来访问被绑定的对象而不仅仅是data