【问题标题】:how to swap models between views in backbone如何在主干视图之间交换模型
【发布时间】:2014-06-03 09:38:44
【问题描述】:

如果我有两个视图A和B。A有模型X,B有模型Y。B中的点击事件将触发视图A中的模型更改为视图B中的模型,最好的方法是什么这个?

我正在考虑触发一个事件,A 将从 B 监听,然后将新模型从 B 传递给 A,但我认为这是一种错误的做法。

另一种方法是将 A 的模型传递给 B,以便 B 引用它并能够更改它,但我认为这违背了 MVC 的全部目的。

下面是点击事件视图B中的一段代码:

// display item picture or item Detail View
    viewItem : function(){
        event.preventDefault();
        event.stopPropagation();
        //change the parent model to this one

    },

【问题讨论】:

  • 将模型传递给视图如何打败 MVC?

标签: javascript backbone.js


【解决方案1】:

您肯定在使用事件的正确轨道上。

但是,关注点分离意味着视图 A 不应该对 B 有任何知识或引用。

相反,视图 A 应该只是将带有 Model X 的事件作为消息的一部分推送到某种消息总线。视图 B 应该正在侦听此消息总线,并在收到事件时做出反应。

这意味着任何人都可以收听此事件 - 如果需要,您将来可以轻松地将视图 B 与视图 C 交换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多