關於vuex與v-route的結合使用


把vue實際用於項目的過程中遇到過一些問題

1.如何將vuex和vue-route結合使用(接口調用成功回調頁面這類等等)

   1.初始考慮的方法是在vuex引入vue-router,vuex寫一些業務邏輯代碼,當接口處理完畢之后通過vue-route來處理頁面。

     當時這種方式耦合性太高,不推薦使用。vuex應該處理數據相關的操作,不應該處理界面層的事情。

 

   2.通過Promise的方式,比較推薦這種方式。在vuex里面返回Promise,頁面層通過Promise來處理頁面相關的操作,代碼如下

  actions: {
    activitySetOrModifyManage({commit}, param){
      console.log(param);
      return new Promise((resolve, reject) => {
        axios.post(baseUrl.activitySetManageUrl, qs.stringify(param))
          .then(function (response) {
            console.log(JSON.stringify(response.data));
            let data = response.data;
            if (data.code == 200) {
              resolve();
            } else {
              reject()
            }
          })
          .catch(function (error) {
            console.log(error);
            reject()
          });
      });

    },

 

this.activitySetOrModifyManage(param).then(
      ()=>{
          console.log('接口調用成功,編程改變路由')
          this.$router.push({ path: '/activityList' })
        },
      ()=>{
         console.log('接口調用失敗')
       }

);

     在回調的Promise里面可以處理很多事情,關於頁面層的事情都可以在這里處理。邏輯業務全部剝離放在vuex里面,降低耦合性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM