真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Vue2.0使用過程常見的一些問題總結(jié)學(xué)習(xí)

最近在學(xué)習(xí)Vue,今天正好寫個(gè)學(xué)習(xí)筆記,把以前遇到的錯(cuò)誤給總結(jié)一下。

創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),西充網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:西充等地區(qū)。西充做網(wǎng)站價(jià)格咨詢:13518219792

Vue目前的的開發(fā)模式主要有兩種:

1.直接頁面級(jí)的開發(fā),script直接引入Vue

2.工程性開發(fā),webpack+loader或者直接使用腳手架工具Vue-cli,里面的文件都配置好了

webpack可以進(jìn)行配置,配置多文件入口,進(jìn)行多頁面開發(fā)

第二種Vue開發(fā),結(jié)合webpack打包完文件會(huì)很大,怎么解決這個(gè)問題?

1.webpack代碼拆分:code-spliting

2.提取公共(如提取css,js)

3.預(yù)渲染:使用prerender-spa-plugin插件

4.后臺(tái)————開啟壓縮,gzip (會(huì)很有用)

5.異步加載組件:require.ensure

Vue常見錯(cuò)誤解決方法:

1.[Vue-warn]: Missing required prop: "to"  (found in component )

這個(gè)錯(cuò)誤是少了個(gè)to或者是寫錯(cuò) ,正確寫法為:

并且路由在做字符串拼接的時(shí)候,to要作為一個(gè)屬性綁定

2.端口沖突錯(cuò)誤:需要改端口

當(dāng)然現(xiàn)在vue2.0中的webpack 已經(jīng)自己會(huì)根據(jù)你的端口號(hào)進(jìn)行改正,從8080往后面進(jìn)行遞增,不會(huì)發(fā)生端口號(hào)沖突的情況,在vue1.0中會(huì)經(jīng)常出現(xiàn)

3.[Vue-warn]:Unknown custom element: - did you register the component correctiy?

錯(cuò)誤1:引進(jìn)來的vue-router沒有use()

  import Vue from 'vue'
  import VueRouter from 'vue-router'
  Vue.use(VueRouter);

錯(cuò)誤2:在生成路由實(shí)例之后,沒有將路由掛到我們的Vue實(shí)例上面

const router=new VueRouter({
  mode:'history',//切換路徑模式,變成history模式,不然路徑為/#/home
  scrollBehavior:()=>({ // 滾動(dòng)條滾動(dòng)的行為,不加這個(gè)默認(rèn)就會(huì)記憶原來滾動(dòng)條的位置
     y:0
  }),
  // 注意這里的名稱
   routes
 });
 new Vue({
  /* 4.最后掛到vue上 */
  router,
  el: '#app',
  render: h => h(App)
 });

4.Uncaught TypeError: _vuex2.default.store is not a constructor

這個(gè)報(bào)錯(cuò)的是_vuex2.default.store 不是一個(gè)構(gòu)造函數(shù),因?yàn)樵谖覀冇胿uex的時(shí)候需要將用到的actions,mutations模塊最終導(dǎo)出,在導(dǎo)出的時(shí)候new Vuex.Store中的Store小寫了,這里的一定要大寫,就相當(dāng)于我們?cè)谑褂脴?gòu)造函數(shù)(類)的時(shí)候首字母要大寫

   import mutations from './mutations.js'
  import actions from './actions.js'

  export default new Vuex.Store({ //Vue.Stroe()首字母大寫
     modules:{ //這里注意mutations導(dǎo)出的是一個(gè)模塊
       mutations
    },
      actions
    });

5. Moudel not found:Error:Can't resolve "style" in 'D:\vue-demo'

在vue1.0中,在webpack.config.js中配置css文件時(shí)

   module:{
    loaders:[
      {
        test:/\.css$/,
        loader:'style!css'
      }
    ]
  }

在vue2.0中,在webpack.config.js中配置css文件時(shí),必須要寫全,不能和vue1.0一樣簡寫

   module:{
    rules:[ //這里改成了rules
      {
        test:/\.css$/,
        loader:'style-loader!css-loader' //這里必須要寫全,不能和vue1.0一樣簡寫
       }
    ]
  }

6.組件之間的通信從1.0過渡到2.0時(shí)引發(fā)的錯(cuò)誤:

vue1.0實(shí)現(xiàn)父子組件的通信 -->通過props屬性-->并且子組件可以更改父組件的數(shù)據(jù) 通過sync同步

當(dāng)在vue2.0里面不允許直接給父級(jí)數(shù)據(jù)做更改,并且把這個(gè)方法.sync去掉了,

當(dāng)子組件再試圖更改父組件的數(shù)據(jù)時(shí),就會(huì)報(bào)錯(cuò)。 

解決方法:

1.$emit()——單一事件管理

經(jīng)常遇到的問題是找不到$emit()或$on(),這時(shí)需要單獨(dú)準(zhǔn)備一個(gè)文件Store.js

在文件里面需要:var oEvent =new Vue();

這個(gè)這個(gè)文件里的數(shù)據(jù)一定要導(dǎo)出去才可以使用:export default oEvent

2.對(duì)象之間的引用:(推薦使用)

vue1.0傳數(shù)據(jù):msg:'welcome' -->傳給子級(jí)

vue2.0直接將數(shù)據(jù)定義成對(duì)象json的形式,這樣傳給子級(jí)的數(shù)據(jù)是對(duì)象的屬性,即msg.title

這樣子級(jí)修改父級(jí)的數(shù)據(jù),修改的也是這個(gè)對(duì)象的一個(gè)屬性msg.title

 msg:{
    title:'welcome'
    }
 msg.title

7.用vuex用來管理組件狀態(tài):(增加/減少,顯示/隱藏)

8.axios目前不可以u(píng)se,因?yàn)閍xios里面沒有install這個(gè)方法 

使用axios的時(shí)候,可以這樣來使用:

1.將axios導(dǎo)入文件

import axios from 'axios'

2.將axios放入到Vue實(shí)例上面,這樣在其他組件中,可以直接通過this.$https.get/post使用

在main.js中寫:Vue.prototype.$http = axios

其他組件可以直接使用:

   this.$http.get('data.txt').then((res)=>{
    console.log(res.data);
  }).catch((err)=>{
    console.log(err);
  });

10. element.ui表頭點(diǎn)擊事件

使用element.ui之后 @click="" 無法對(duì)表頭等元素添加點(diǎn)擊事件,正確的寫法應(yīng)該是@click.native=""

11.webpack2.0 插件的配置需要放到 plugins里面進(jìn)行配置,不可放到rules里面進(jìn)行配置

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


當(dāng)前題目:Vue2.0使用過程常見的一些問題總結(jié)學(xué)習(xí)
文章路徑:http://weahome.cn/article/pedccp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部