色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - vue2,vuex,關(guān)于數(shù)據(jù)層,Controller層的一些疑惑

瀏覽:95日期:2022-11-06 08:37:28

問題描述

問題如下,請(qǐng)大神解惑

先說說我個(gè)人的理解

model層的變化會(huì)反應(yīng)到view層上,view層的變化也會(huì)反映到model上。而在.vue的文件中,model層就是data對(duì)象里面的數(shù)據(jù)(此處假設(shè)不存在store倉庫),在vue中view就是template里的內(nèi)容,model就是data對(duì)象中存在的數(shù)據(jù),而類似于methods里面的方法都應(yīng)該歸類在Controller層。

在mvvm這種模式暫未問世,大家寫代碼大都遵循mvc模式的,將數(shù)據(jù),視圖,業(yè)務(wù)邏輯拆開來寫,這樣代碼也會(huì)看著清晰一點(diǎn)。

vuex就是一個(gè)倉庫,主要為了解決當(dāng)vue多個(gè)組件共享某一個(gè)狀態(tài),以及一些兄弟組件等通訊不便。有了vuex但不是代表要將所有的數(shù)據(jù)存放在vuex中。

說說我的問題

data(){return { userList:[], nextSwitch:true, prevSwitch:true, chooseUserId:null, linghtboxStatus:false, linghtboxImgList:[], linghtboxCurImg:’’, currentPage:1, listMaxPage:0} },mounted(){const _this = this; let Listdata = {id:this.projectId,pagesize:5,page:this.currentPage } this.$store.dispatch(’proposalListAc’,Listdata).then(function (response) {if(response.code === 200) { _this.userList = response.data.list.lists _this.listMaxPage = response.data.list.pages if(_this.listMaxPage > 1) { _this.nextSwitch = false }} })} },

其實(shí)這段代碼邏輯如下,此處我需要在組件mounted的時(shí)候,需要請(qǐng)求一下數(shù)據(jù),將一個(gè)列表渲染出來,但是我這個(gè)列表的數(shù)據(jù)是這個(gè)組件中私有的,所以并不需要存在vuex中去通知其他的組件。store中的代碼如下

actions:{ proposalListAc:function(context,data){ let promise = new Promise(function(resolve,reject){api.getData(’proposalList’,data).then(function (response) { resolve(response.data);}) }) return promise}}

那么從視圖,數(shù)據(jù),業(yè)務(wù)邏輯分離的初衷出發(fā),這樣構(gòu)造代碼是否合理?其實(shí)這個(gè)列表還有上一頁下一頁的功能,我需要構(gòu)造出請(qǐng)求參數(shù),來告訴服務(wù)器現(xiàn)在請(qǐng)求第幾頁的數(shù)據(jù),請(qǐng)求多少條數(shù)據(jù)。功能并不難。但是我同事說,像上一頁下一頁這樣的功能屬于數(shù)據(jù)層(因?yàn)楸举|(zhì)是是數(shù)據(jù)發(fā)生了變化),應(yīng)當(dāng)將這些東西放在store中。但是我的理解就是,首先我的這個(gè)列表是這個(gè)組件私有的,并不需要和其他的組件共享什么狀態(tài)。所以我僅僅是通過dispatch將請(qǐng)求的數(shù)據(jù)分發(fā)到頁面來,而且我在點(diǎn)擊上一頁,下一頁的時(shí)候需要計(jì)算currentPage,這應(yīng)該是屬于業(yè)務(wù)邏輯(Controller層),而不是model層,(雖然最終變化還是數(shù)據(jù),但是我要通過邏輯去判斷數(shù)據(jù)應(yīng)該怎么變)。請(qǐng)大神說說,在這種業(yè)務(wù)情況下應(yīng)該怎么構(gòu)造代碼比較合理,比較符合視圖,數(shù)據(jù),業(yè)務(wù)邏輯分離的初衷,使代碼更加的優(yōu)雅。(項(xiàng)目并不是小項(xiàng)目,所以引入了vuex,這塊代碼僅僅只是一小部分。stroe中有拆分了很多不同的模塊)。大家都來說說自己的理解,和意見吧

問題解答

回答1:

你既然都說了是一個(gè)私有組件 肯定是內(nèi)部都是計(jì)算好的 何必還要去放在store 統(tǒng)一管理?

你請(qǐng)求數(shù)據(jù)的api封裝了, 直接傳遞currentPage了就行了啊

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 午夜一级做a爰片久久毛片 午夜伊人网 | 国产亚洲精彩视频 | 很黄很色的免费视频 | 99久久综合精品免费 | 欧美日本一区二区 | 国产精品区在线12p 国产精品人成 | 国产精品久久久久久久久免费观看 | 成人毛片全部免费观看 | 国产女王女m视频vk 国产女王丨vk | 欧美人成人亚洲专区中文字幕 | 精品99在线观看 | 国产精品特级毛片一区二区三区 | 精品一区二区在线欧美日韩 | 美女福利视频国产片 | 久久久久免费精品视频 | 嫩草影院在线观看网站成人 | 一级做性色a爱片久久片 | 国产成人精品免费视频大全可播放的 | 久久99精品久久久久久三级 | 国产精品国产三级国产an不卡 | 成人影院vs一区二区 | 韩国美女高清爽快一级毛片 | 一级做a毛片在线看 | 国产午夜三区视频在线 | 一本色道久久综合 | 国产成人精品日本亚洲语音2 | 草草国产成人免费视频 | 大量真实偷拍情侣视频野战 | 国产成人精品日本亚洲语音1 | 九九久久精品这里久久网 | 日韩在线观看视频网站 | 看国产一级片 | 亚洲高清在线观看播放 | 国产精品网站 夜色 | 欧美特黄一级高清免费的香蕉 | 国产精品黄网站 | 在线观看成年人免费视频 | 91亚洲精品成人一区 | 成 人 a v免费视频 | 久久久久成人精品一区二区 | 1204国产成人精品视频 |