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

fan*_*ncy 6 javascript backbone.js

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

page:{
    paragraph:{
        wordcount: {
            the: 8,
            at: 10
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

book.on("change:page:paragraph:wordcount:the", ...);
Run Code Online (Sandbox Code Playgroud)

Rob*_*ska 5

Backbone仅触发change顶级属性名称的事件.根据活动目录:

  • "更改"(模型,选项) - 当模型的属性发生变化时.
  • "更改:[属性]"(模型,值,选项) - 更新特定属性时.

那里没有提到任何筑巢.实际上,如果你确实更改了属性的嵌套属性,我很确定它甚至不会触发事件(因为属性本​​身没有改变).此外,如果你看一下注释的源代码(虽然影响该行为的因素都有点分手),你可以按照它到哪里change:attribute事件被触发.

但是,看起来确实有一个插件可以帮助您完成所需的工作.