我有一个backbone.sticket绑定附加到与mainView
视图关联的模型:
bindings: -> {
".some-class": "someAttribute",
}
和以下模板
<div class="some-class"></div>
该属性正确填充,但是当我尝试在浏览器控制台中编辑someAttribute
时:
router.mainView.model.attributes.someAttribute = "TEST"
即使键入
,绑定也没有任何变化 router.mainView.model.attributes.someAttribute
进入浏览器控制台会按预期返回"TEST"
。
我是否应该期望div的内容在浏览器中也会发生变化?
答案 0 :(得分:1)
Sticket可能是基于事件的,Backbone事件不起作用。如果您手动编辑模型的attributes
,Backbone中的任何内容都不会知道发生了什么,因此不会触发任何事件。如果您希望触发事件,则需要使用set
:
router.mainView.model.set('someAttribute', 'TEST')
// or
router.mainView.model.set({ someAttribute: 'TEST' })
其中任何一个都应该生成"change"
个事件,这可能是Sticket用来连接自己的事件。