为了账号安全,请及时绑定邮箱和手机立即绑定

一个URL对应一个Model还是一个局部的模块功能对应一个Model?

一个URL对应一个Model还是一个局部的模块功能对应一个Model?

有只小跳蛙 2023-04-30 14:10:09
这个backbone中的Model到底是怎么抽取出来的? 根据页面,如何抽取呢? 一个URL对应一个Model还是一个局部的模块功能对应一个Model?当你拿到页面时,可能页面中有几个模块功能,比如有日期筛选,选择了某日,或者某个月份,然后页面图表会变化。那么,如何建立Model呢?
查看完整描述

3 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

我认为这里的model要分两个方面来看:

一类为业务模型,你举例中的图表就是一种业务模型,select的数据也是一个业务模型(如果它不只是简单前端生成的时间); 一类为视图模型,即view-model(backbone没有view-model,可以通过backbone插件,也可直接写在view类上),一般呈载页面的一些状态和需要显示的项目,比如一些控件现在是展开还是闭合。

拿到页面要看需要哪些业务模型,这些模型并非只用于这一个页面,他是由你的业务决定的。一个页面可能只使用一个模型,也可能使用多个模型,可以理解成一个页面由一个动态程序输出,但查询了多张表获取数据。按你的例子,select中的数据可以对应一个model,图表可以是一个model, select的通过自己的model渲染,然后修改时通知图表的model fetch新数据,然后图表的view因为model的change而重新渲染。


查看完整回答
反对 回复 2023-05-04
?
波斯汪

TA贡献1811条经验 获得超4个赞

Backbone 的 Model 主要功能是用 RESTfull 的方式实现和后端 API 的通信。
View 则负责显示 Model/Collection 里的数据,来完成渲染。也可以监听 Model/Collection 的变化,重新渲染。

因此,我觉得并不应该以界面做为设计 Model 的考量。你说的日期选择器和某种图表,具体实现的方式也有很多,比如:
直接用参数或事件的形式传给显示图表的 view 的渲染方法,渲染方法里有对日期进行处理的逻辑,这样其实是没有用到 Model 的。
再比如使用一个 Model/Collection 做为图表数据的载体,设定事件让日期选择器更新 Model/Collection ,图表的 View 监听这个变化重新渲染图表。
Backbone 是相对灵活的框架,需要自己根据自己的需求,来进行合理的设计。


查看完整回答
反对 回复 2023-05-04
?
临摹微笑

TA贡献1982条经验 获得超2个赞

这个是根据后端的接口来,如果要用model.后端要实现restful接口,你只要与后端模型一一对应就好了,这叫对象关系映射,比如用户,就有一个UserModel.

查看完整回答
反对 回复 2023-05-04
  • 3 回答
  • 0 关注
  • 279 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信