knockout.js / devExtreme无法处理css绑定

时间:2014-05-21 11:10:53

标签: data-binding knockout.js phonejs devextreme

我有一个dxTileView模板,它与来自服务器的数据进行数据绑定。然后,在模板中我想添加一个css绑定,在单击tile时会添加一个类......

<div data-bind="dxTileView: {itemClickAction:assignProject, dataSource:quickBooking}">
          <div data-options="dxTemplate : { name:'item' }" data-bind="css: {selectedTile: selectedTile}">
            <h4 data-bind="text: blah"></h4>
            <p data-bind="text: blah"></p>
          </div>
</div>

然后在viewmodel中我有:

var viewModel = {
        selectedTile: ko.observable(false),
        blah: blah}

错误信息:

Uncaught ReferenceError: Unable to process binding "css: function (){return {selectedTile:selectedTile} }"
Message: selectedTile is not defined 

我在我的绑定上尝试了一些变体,如下所示,但都没有效果:

data-bind="css: {selectedTile: viewModel.selectedTile}"//error: viewModel not defined
data-bind="css: {selectedTile: viewModel.selectedTile()}"
data-bind="css: {selectedTile: true}" //this works,was just for testing
data-bind="css: {selectedTile: selectedTile(false)}"//etc etc etc

非常感谢您的任何帮助!

1 个答案:

答案 0 :(得分:4)

要访问视图模型的根目录,请使用$root

试试这个:

data-bind="css: {selectedTile: $root.selectedTile}"