我可以在多大程度上嵌套骨干变化事件?

时间:2012-05-01 19:04:02

标签: javascript backbone.js

假设我有一个(相当荒谬的)书籍模型,其属性看起来像:

page:{
    paragraph:{
        wordcount: {
            the: 8,
            at: 10
        }
    }
}

我可以绑定更改非常嵌套的值吗?

book.on("change:page:paragraph:wordcount:the", ...);

1 个答案:

答案 0 :(得分:5)

Backbone仅触发顶级属性名称的change个事件。根据{{​​3}}:

  
      
  • “更改”(型号,选项) - 模型的属性发生变化时。
  •   
  • “更改:[属性]”(型号,值,选项) - 更新特定属性时。
  •   

那里没有提到任何筑巢。实际上,如果你确实更改了属性的嵌套属性,我很确定它甚至不会触发事件(因为属性本​​身没有改变)。此外,如果您查看带注释的来源(尽管影响此行为的因素有点分散),您可以将其跟踪到Catalog of Events

但是,它看起来像where change:attribute events are triggered,有助于完成您所追求的目标。