Backbone.js - 将数据从一个视图移动到另一个视图

时间:2013-01-16 13:29:55

标签: backbone.js

如何将数据从一个视图发送到另一个不同网址的视图?

1 个答案:

答案 0 :(得分:2)

有点奇怪的问题,但是好的,让我们试着想象你的问题是复杂的并给出答案。

  1. 想象一下阅读书籍的应用程序(如网络中的iBooks)。我们有一个名为ApplicationView的父视图,它创建了几个子视图,其中一些是BookshelfView(在#bookshelf url上可用)和BookView(在#book /:id url上可用)。

    现在,您从BookView将您的图书标记为未读,并且您知道您的BookshelfView应该更改本书的外观。好的,它不是“将数据从一个视图移动到另一个视图”。您只需更改模型的状态,您的视图就会捕获此“更改”事件并更新其HTML。

  2. 让我们描述更复杂的情况。想象一下相同的应用程序。但此时您决定将纵向方向切换为横向方向。您可以在一个视图中创建它,并希望此更改影响其他应用程序视图。这可以通过以下几种方式完成:

    • 观看次数应保持loosely coupled,您应该使用某种mediator pattern
    • 从Backbone 0.9.9开始,您可以将全局Backbone对象用作Mediator,因为Backbone支持Events接口
    • 您可以在两个或多个视图之间创建Mediation和其他模型,但还有更美观的解决方案:
    • 如果您有多个子视图的父视图,则您已拥有该中介。只需从一个视图向父视图发送事件,然后从其他视图中侦听父事件上的事件。
  3. 我还建议您查看this question