0

如何将数据从一个视图发送到另一个位于不同 url 上的视图?

4

1 回答 1

2

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

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

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

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

    • 视图应该保持松散耦合,您应该使用某种中介模式
    • 从 Backbone 0.9.9 开始,您可以使用全局 Backbone 对象作为中介,因为 Backbone 支持事件接口
    • 您可以在两个或多个视图之间为中介创建附加模型,但有更漂亮的解决方案:
    • 如果您有多个子视图的一个父视图,则您已经拥有该调解器。只需从一个视图向父视图发送事件,然后从另一个视图在父视图上收听该事件。

我也建议你检查这个问题

于 2013-01-18T06:29:11.977 回答