gpt4 book ai didi

backbone.js - 主干设计

转载 作者:行者123 更新时间:2023-12-04 09:04:25 24 4
gpt4 key购买 nike

我刚刚开始使用 Backbone。我浏览了前两个 PeepCode 截屏视频,它们很棒,现在我正在研究 future 应用程序的快速分离(无服务器端)模型。

这是我想要构建的(大致)。一系列五个文本框 - 让我们称之为这些小部件。每个 Widget 输入,当被选中时,将显示一个 Pane ,显示与该 Widget 关联的任务,并允许用户创建新任务或销毁现有任务。

在这一点上,我想我有以下模型:

Widget
Task

以下合集:
Tasks
Widgets

以下 View (这是它变得毛茸茸的地方!)
WidgetListView
- Presents a collection of Widgets
WidgetView
- sub-view of WidgetListView to render a specific Widget
TaskPaneView
- Presented when the user selects a Widget input
TaskCreateView
- Ability to create a new Task associated with selected Widget
TaskListView
- Presents a collection of Tasks for the given widget
TaskView
- Displays Task detail - sub-view of TaskListView

假设这是合理的,技巧就变成了如何在选择 WidgetView 时显示 TaskPaneView。此外,TaskPaneView 应该如何依次呈现 TaskCreateViews 和 TaskListViews。

这里真正的问题是:一个级联渲染事件是否跨 View ?是否允许根 View 知道 subview 并显式呈现它们?这应该是事件驱动的吗?

抱歉,如果这是一个开放式问题,只是希望有人以前见过类似的东西,并能指出我正确的方向。

谢谢!

最佳答案

绝对让它成为事件驱动的。此外,尽量不要创建紧密耦合的 View 。松散耦合将使您的代码更易于维护和灵活。

查看关于事件聚合器模型和主干的这篇文章:

http://lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/

简短的版本是你可以这样做:

var vent = _.extend({}, Backbone.Events);

并使用vent.trigger 和vent.bind 来控制您的应用程序。

关于backbone.js - 主干设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8381170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com