1

サーバーからのデータにデータバインドされた dxTileView テンプレートがあります。次に、テンプレートで、タイルがクリックされたときにクラスを追加するcssバインディングを追加したい...

<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>

そして、私が持っているビューモデルで:

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

助けてくれてありがとう!

4

1 に答える 1

4

ビュー モデルのルートにアクセスするには、 を使用します$root

これを試して:

data-bind="css: {selectedTile: $root.selectedTile}"
于 2014-05-21T12:10:24.933 に答える