骨干.stickkit不随模型更改而更新

backbone.stickit not updating with model change

本文关键字:更新 模型 stickkit 骨干      更新时间:2023-09-26

我有骨气。附加到与mainView视图相关联的模型的标签绑定:

bindings: -> {
        ".some-class": "someAttribute",
    }

和下面的模板

<div class="some-class"></div>

属性正确填充,但是当我尝试在浏览器控制台中编辑someAttribute时:

router.mainView.model.attributes.someAttribute = "TEST"

绑定中没有任何变化,即使键入

router.mainView.model.attributes.someAttribute

到浏览器控制台返回"TEST"

我应该期望div的内容也在浏览器中改变吗?

Sticket大概是基于事件的,骨干事件不起作用。如果你手工编辑一个模型的attributes, Backbone中不会知道发生了什么,所以不会触发任何事件。如果您希望触发事件,您需要使用set:

router.mainView.model.set('someAttribute', 'TEST')
// or
router.mainView.model.set({ someAttribute: 'TEST' })

它们中的任何一个都应该生成"change"事件,这可能就是Sticket用来连接自己的。