【问题标题】:backbone.stickit not updating with model change主干.stickit 不随模型更改而更新
【发布时间】:2014-10-06 05:54:14
【问题描述】:

我有一个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 的内容也会在浏览器中发生变化?

【问题讨论】:

    标签: javascript backbone.js backbone-views backbone-routing backbone-model


    【解决方案1】:

    Sticket 可能是基于事件的,而 Backbone 事件不起作用。如果您手动编辑模型的attributes,Backbone 中的任何内容都不会知道发生了什么,因此不会触发任何事件。如果要触发事件,需要使用set:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-16
      • 2014-09-18
      • 2013-09-11
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多