亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一個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 關注
  • 335 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號