1

私はプレーヤークラスとビューモデルを持っています

class Player
    constructor: ->
        @boat = ko.observable null

class Boat
    constructor: (@id) ->

class ViewModel
    player: ko.observable 

htmlで

<div data-bind="if: player">
        <div data-bind="template: {name: 't_me', data: player}"></div>
</div>
<script type="text/html" id="t_me">
    <span>player boat
        <span data-bind="if: boat()">            
            <b data-bind="text: boat().id"></b>
        </span>        
    </span>
</script>

今、スクリプトでボートをプライヤーに設定しようとしています

vm = new ViewMode()
ko.applyBindings vm
vm.player new Player()
vm.player.boat new Boat(1)

そして、この変更にViewを反応させることはできませんか?

4

1 に答える 1

0

あなたのコードで私が目にする唯一の問題は、vm.playerオブザーバブルに括弧がないことです。vm = new ViewMode()(それはタイプミスだと仮定します)

最後の行は次のようにする必要があります。vm.player().boat new Boat(1)

于 2012-05-06T23:58:47.873 に答える