關於vue開發的常見問題

1、vue單頁面回退丟失參數的問題
可能有些跟我同樣的新手同窗會遇到一個問題,就是好比我從商品詳情跳轉到購物車,沒問題,可是,購物車頁面中點擊瀏覽器的回退按鈕,返回到detail頁面時,你的動態數據(圖片啊,名稱啊,價格啊什麼的)不見了,只剩下一堆css樣式架子在那裏,很難受。
這就是單頁面回退參數丟失的問題,話很少說,直接說解決方法。
一、首先,咱們須要瞭解一下Vuex。(狀態管理)具體你們百度vuexphp

在vue-cli工程中
npm安裝:npm i vuex --save

引入到項目mian.js中:
import Vuex from 'vuex'
Vue.use(Vuex);

定義一個常量
const store = new Vuex.Store({
    state: {
      songInfo:''
    },
    mutations: {
       //定義函數,好比我要獲取songInfo
      getSongInfo(state, songInfo) {
          state.songInfo = songInfo;
      }
    }
});
而後全局的vue中加上去store
/* eslint-disable no-new */
    new Vue({
      el: '#app',
      router,
      store,
      components: { App },
      template: '<App/>'
   })
  這樣,咱們main.js的部分就作好了,那麼頁面部分怎麼作呢
  咱們既然要獲取,就要先存
  在你存數據的vue頁面中,id是參數,能夠是數組,變量什麼的,要不要看你本身需求
    save(id){
           //console.log(id);
           this.$store.commit("getSongInfo", id);
       }
  而後接下來就是在你想要獲取數據的頁面獲取儲存的東東了
  computed:{
    hereIsYourData(){
        return this.$store.state.songInfo;
    }
  }

爲何加了個computed計算屬性呢?我以爲挺方便的。看看這裏說的
https://cn.vuejs.org/v2/guide...
順便你能夠加深對watch和conputed的理解
計算屬性默認只有 getter ,不過在須要時你也能夠提供一個 setter
而後,解決完畢!嘻嘻嘻css

2、webpack打包工程上線後,你發現開發者工具的source看到了源碼
對,webpack上線配置錯了。去到config文件夾下的index.js,裏面有個build的內容,把其中的productionSourceMap改爲falsehtml

3、凡是修改了項目的配置,都要從新npm run dev 喲,由於熱重載通常是自動更新修改的頁面vue

4、vue的Post請求到後臺語言(php,java,asp啥的),發現post不出去,不報錯又沒效果
解決方案:加上{emulateJSON: true}。例如:java

this.$http.post("url", {
        //參數
    },{emulateJSON: true}).then(function(res) {
        //suc
    });

5、發現webpack打包後,頁面是空的
可能你的路由mode是history,要改爲hash,通常默認是hash。webpack

。。。就大概說這些吧,想不起來了。。。我只是個初學者。。。web

最後link一下算是帶我入門的導師,慕課網的河畔一角,看了他的視頻,講的很棒
https://coding.imooc.com/clas...vuex

還有個人項目,你們喜歡的話,能夠找我要源碼,同時跪求!跪求!有大神能夠指點我一會兒!
http://111.230.91.125:3000/#/
http://111.230.91.125:8080/Vshop/view/index.htmlvue-cli

若是你以爲文章不錯的話,點個小讚唄,謝謝謝謝,嘻嘻嘻!npm

相關文章
相關標籤/搜索