【问题标题】:Comparing current data item to observable将当前数据项与 observable 进行比较
【发布时间】: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


【解决方案1】:

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

【讨论】:

  • 呃,你在所有的事情上都很快,knockoutjs:P
  • 对不起@nEEbz :) 今天放假了,所以有更多时间看看。
  • 哇!!这家伙什么都知道!谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多