gpt4 book ai didi

javascript - Backbone.js 与非 RE​​STful 应用程序? (Backbone.js 适合我当前的项目吗?)

转载 作者:搜寻专家 更新时间:2023-11-01 04:27:30 30 4
gpt4 key购买 nike

我想弄清楚 Backbone.js 是否适合我当前的项目:一个可视化应用程序。

我有几个问题:

1) 状态/路由?

因为这不是典型的 RESTful 应用程序,而是具有各种图表类型和这些图表设置的可视化应用程序,我如何维护 URL 中的状态?假设我的 areaChart 模型有许多这样的默认值:

AreaChartModel = Backbone.Model.extend({
defaults: {
selectedCountries: [],
year: 1970,
stacked: false
},
initialize: function(){
[...]
}
});

在更新模型时,我想序列化其中一些属性,以便我可以为特定状态添加书签:chartApp.html#!year=1970&stacked=false 等。

反之亦然,当以这种状态启动应用程序时,我如何“deparam”url 状态并设置模型?我可以使用 Backbone 的内部路由吗?

2) Controller 和耦合?

似乎 Backbone 具有非常紧密的 View 模型耦合?这真的是我应该如何将我的 areaChartView 绑定(bind)到模型吗?

AreaChartView = Backbone.View.extend({
initialize: function(){
areaChartModel.bind("change:year", this.render);
}
});

这通常不是控制者的 Angular 色吗?

3) 延续:模型与 Controller ?

鉴于这种情况:enter image description here

“侧边栏”中的更改应触发一系列功能:
1)“应加载当前选择的新数据”
2)“基于这些数据,可视化 View 中的比例应该更新”
3)“应呈现可视化 View ”

我应该在哪里放置这些函数以及如何在状态稳定时触发的模型中创建事件? (即当所有函数都被调用并且是时候设置 View 状态时?)

最佳答案

1) 我会使用“:params”和“*splats”尽可能多地使用 Backbone.js native 路由 , read more .您可以将所有查询放入 Backbone.js 路由中,但我个人会牺牲某些东西来支持直观的 UI 按钮

例如我将默认设置为线条,您不能使用 URL 对其进行预设,但要更改为堆叠图,只需单击一个按钮即可。

我可能会偏离使用 ?和 & 在我的网址中。我稍后可能会回到这一点,因为它很有趣。

2) 您的示例很好,您只需要记住 Backbone.js MVC 术语与传统 MVC 无关。

主干 View 本质上是传统 MVC 中的 Controller 。 主干 Controller 只是一种在框架内进行路由的方式。 与 Backbone.js 一起使用的模板引擎是传统的 MVC View 。

3) 还在写

关于javascript - Backbone.js 与非 RE​​STful 应用程序? (Backbone.js 适合我当前的项目吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6095194/

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