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>

现在在脚本中,我尝试将船设置为 plyer

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

而且我不能让 View 对这种变化做出反应,有什么想法吗?

4

1 回答 1

0

vm.player我在您的代码中看到的唯一问题是observable缺少括号。(假设这vm = new ViewMode()是一个错字)

我相信最后一行应该是:vm.player().boat new Boat(1)

于 2012-05-06T23:58:47.873 回答