Vue目前的的开发模式主要有两种:
1.直接页面级的开发,script直接引入Vue
2.工程性开发,webpack+loader或者直接使用脚手架工具Vue-cli,里面的文件都配置好了

webpack可以进行配置,配置多文件入口,进行多页面开发

第二种Vue开发,结合webpack打包完文件会很大,怎么解决这个问题?
1.webpack代码拆分:code-spliting
2.提取公共(如提取css,js)
3.预渲染:使用prerender-spa-plugin插件
4.后台————开启压缩,gzip (会很有用)
5.异步加载组件:require.ensure

Vue常见错误解决方法:
1.[Vue-warn]: Missing required prop: "to"  (found in component <router-link>)
这个错误是<router-link>少了个to或者是写错 ,正确写法为:<router-link to="/home">
并且路由在做字符串拼接的时候,to要作为一个属性绑定 <router-link :to="'/home/'+item.id">

2.端口冲突错误:需要改端口
  当然现在vue2.0中的webpack 已经自己会根据你的端口号进行改正,从8080往后面进行递增,
  不会发生端口号冲突的情况,在vue1.0中会经常出现

3.[Vue-warn]:Unknown custom element: <router-link> - did you register the component correctiy?
错误1:引进来的vue-router没有use()
  import Vue from 'vue'
  import VueRouter from 'vue-router'
  Vue.use(VueRouter);
错误2:在生成路由实例之后,没有将路由挂到我们的Vue实例上面
const router=new VueRouter({
  mode:'history',//切换路径模式,变成history模式,不然路径为/#/home
  scrollBehavior:()=>({ // 滚动条滚动的行为,不加这个默认就会记忆原来滚动条的位置
    y:0
  }),
  // 注意这里的名称
  routes
});
new Vue({
  /* 4.最后挂到vue上 */
  router,
  el: '#app',
  render: h => h(App)
});

4.Uncaught TypeError: _vuex2.default.store is not a constructor
  这个报错的是_vuex2.default.store 不是一个构造函数
  因为在我们用vuex的时候需要将用到的actions,mutations模块最终导出,
  在导出的时候new Vuex.Store中的Store小写了,这里的一定要大写,
  就相当于我们在使用构造函数(类)的时候首字母要大写

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

  export default new Vuex.Store({ //Vue.Stroe()首字母大写
    modules:{ //这里注意mutations导出的是一个模块
      mutations
    },
      actions
    });

5. Moudel not found:Error:Can't resolve "style" in 'D:\vue-demo'
  在vue1.0中,在webpack.config.js中配置css文件时
  module:{
    loaders:[
      {
        test:/\.css$/,
        loader:'style!css'
      }
    ]
  }
在vue2.0中,在webpack.config.js中配置css文件时,必须要写全,不能和vue1.0一样简写
  module:{
    rules:[ //这里改成了rules
      {
        test:/\.css$/,
        loader:'style-loader!css-loader' //这里必须要写全,不能和vue1.0一样简写
      }
    ]
  }

6.组件之间的通信从1.0过渡到2.0时引发的错误:
vue1.0实现父子组件的通信 -->通过props属性-->并且子组件可以更改父组件的数据 通过sync同步
  当在vue2.0里面不允许直接给父级数据做更改,并且把这个方法.sync去掉了,
  当子组件再试图更改父组件的数据时,就会报错。
解决方法:
  1.$emit()——单一事件管理
    经常遇到的问题是找不到$emit()或$on(),这时需要单独准备一个文件Store.js
    在文件里面需要:var oEvent =new Vue();
    这个这个文件里的数据一定要导出去才可以使用:export default oEvent

  2.对象之间的引用:(推荐使用)
    vue1.0传数据:msg:'welcome' -->传给子级
    vue2.0直接将数据定义成对象json的形式,这样传给子级的数据是对象的属性,即msg.title
    这样子级修改父级的数据,修改的也是这个对象的一个属性msg.title
      msg:{
        title:'welcome'
      }
      msg.title

7.用vuex用来管理组件状态:(增加/减少,显示/隐藏)

8.axios目前不可以use,因为axios里面没有install这个方法
使用axios的时候,可以这样来使用:
1.将axios导入文件
  import axios from 'axios'
2.将axios放入到Vue实例上面,这样在其他组件中,可以直接通过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表头点击事件
  使用element.ui之后 @click="" 无法对表头等元素添加点击事件,正确的写法应该是@click.native=""

11)webpack2.0 插件的配置需要放到 plugins里面进行配置,不可放到rules里面进行配置

Vue2.0总结———vue使用过程常见的一些问题的更多相关文章

  1. vue使用过程常见的一些问题

    Vue目前的的开发模式主要有两种:1.直接页面级的开发,script直接引入Vue2.工程性开发,webpack+loader或者直接使用脚手架工具Vue-cli,里面的文件都配置好了 webpack ...

  2. Vue2.0学习--Vue数据通信详解

    一.前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.组件间如何传递数据就显得至关重要.本文尽可能罗列出一些常见的数据传递方式,如p ...

  3. vue2.0 vs vue

    vue2.0相比vue1.0 有哪些改变,今天总结了一下 vue2.0组件中 template 不在支持代码片段 //vue1.0组件中template写法 <template> < ...

  4. vue2.0 关于Vue实例的生命周期

    什么是生命周期 Vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程,我们称这是Vue的生命周期.通俗说就是Vue实例从创建到销毁的过 ...

  5. Vue2.0 搭建Vue脚手架(vue-cli)

    介绍 Vue.js是一套构建用户界面的渐进式框架.Vue 只关注视图层,采用自底向上增量开发的设计.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 阅读之前需要了解的知 ...

  6. vue2.0之Vue Baidu Map 局部注册使用

    文档地址:https://dafrok.github.io/vue-baidu-map/#/zh/start/usage 局部注册 <template> <baidu-map id= ...

  7. vue2.0搭建vue手脚架(vue-cli)

    1.安装node.js 从node官网下载并安装node,安装步骤很简单,只要一路“next”就可以了.安装完成后,打开命令行工具输入命令node -v,如下图,如果出现对应版本号,就说明安装成功了. ...

  8. VUE2.0学习总结

    摘要: 年后公司项目开始上vue2.0,自己对学习进行了总结,希望对大家有帮助! VUE2.0学习 vue介绍 vue是什么? https://vuefe.cn/guide vue也是一个数据驱动框架 ...

  9. 【重点突破】—— Vue1.0到Vue2.0的变化

    前言: 本文参考作者:_So_ 和 我是某慧 的博文,重点梳理Vue1.0升级到Vue2.0后在开发中要注意的不同,以做学习.        组件模板不再支持片段代码,必须有一个顶级元素包裹,例如: ...

随机推荐

  1. spring boot日志配置

    spring boot的application.properties提供了日志的配置,但我还是习惯于老的logback的使用方式.以下内容介绍如何在springboot中使用自定义的logback. ...

  2. jvm 调优参数

    -server -Xms6000M -Xmx6000M -Xmn500M -XX:PermSize=500M -XX:MaxPermSize=500M -XX:SurvivorRatio=65536 ...

  3. ios 获取手机设备信息

    [UIDevice currentDevice]:表示设备 NSString *devices=[[NSString alloc] initWithFormat: @"unique id: ...

  4. 九度OJ 1180:对称矩阵 (矩阵计算)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2637 解决:1354 题目描述: 输入一个N维矩阵,判断是否对称. 输入: 输入第一行包括一个数:N(1<=N<=100),表 ...

  5. linux下查找指定时间内修改过的或新建的文件

    1.简单命令 # find -type f \( -newermt '2017-04-19 00:00' -a -not -newermt '2017-04-27 23:59' \) 2.简单实现(参 ...

  6. What Every Computer Scientist Should Know About Floating-Point Arithmetic

    http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

  7. 原来还有cookie-free domain这么回事

    cookie-free domain的解释:在请求下载静态小图片.静态小文件的时候,浏览器会把它当成普通请求一样,在request的header信息里附加cookie信息. 但实际上,99.99%的静 ...

  8. Android 主线程和子线程通信问题

        Android 如今不支持View在子线程中创建及调用其方法.假设要实现子线程内容更新之后.将结果及时反馈到主线程中,该怎样出来呢?     能够在主线程中创建Handler来实现. 这样子线 ...

  9. java基础入门之数组排序冒泡法

    public class ArrayTest03{ /* Name:数组排序,冒泡法 Power by :Stuart Date:2015-4-23*/ public static void main ...

  10. 磁盘分区对齐详解与配置 – Linux篇

    在之前一篇<磁盘分区对齐详解与配置 – Windows篇>中,我介绍了磁盘分区对齐的作用和适用于MBR和GPT的两种磁盘类型的配置,以及Windows平台设置磁盘分区对齐的方法. 本文作为 ...