6

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

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

我可以像这样绑定到非常嵌套的值的更改吗?

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

1 回答 1

5

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

  • "change" (model, options) — 当模型的属性发生变化时。
  • "change:[attribute]" (model, value, options) — 当特定属性被更新时。

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

但是,看起来确实有一个插件可以帮助您完成您所追求的。

于 2012-05-01T20:09:52.483 回答