vue的学习笔记总结


1.常用名词
npm:包管理器,用于下载资源包
vue-router:vue推荐的路由框架
vuex: 状态管理器,用于维护vue组件间公用的一些变量和方法
axios:用于发起get,post请求
vux:基于vue的移动端UI库
webpack:打包器
2.npm常用命令
npm install
npm run dev
npm run build
npm run build --report(用于查看vue_cli生产环境部署资源资源文件大小的npm命令)
3.vue-cli目录解析:

  1. build 文件夹:用于存放 webpack 相关配置和脚本。开发中仅 偶尔使用 到此文件夹下 webpack.base.conf.js 用于配置 less、sass等css预编译库,或者配置一下 UI 库。
  2. config 文件夹:主要存放配置文件,用于区分开发环境、线上环境的不同。 常用到此文件夹下 config.js 配置开发环境的 端口号、是否开启热加载 或者 设置生产环境的静态资源相对路径、是否开启gzip压缩、npm run build 命令打包生成静态资源的名称和路径等。
  3. dist 文件夹:默认 npm run build 命令打包生成的静态资源文件,用于生产部署。
  4. node_modules:存放npm命令下载的开发环境和生产环境的依赖包。
  5. src: 存放项目源码及需要引用的资源文件。
  6. src下assets:存放项目中需要用到的资源文件,css、js、images等。
  7. src下componets:存放vue开发中一些公共组件:header.vue、footer.vue等。
  8. src下emit:自己配置的vue集中式事件管理机制。
  9. src下router:vue-router vue路由的配置文件。
  10. src下service:自己配置的vue请求后台接口方法。
  11. src下page:存在vue页面组件的文件夹。
  12. src下util:存放vue开发过程中一些公共的.js方法。
  13. src下vuex:存放 vuex 为vue专门开发的状态管理器。
  14. src下app.vue:使用标签渲染整个工程的.vue组件。
  15. src下main.js:vue-cli工程的入口文件。
  16. index.html:设置项目的一些meta头信息和提供用于挂载 vue 节点。
  17. package.json:用于 node_modules资源部 和 启动、打包项目的 npm 命令管理。
4.vue.js的两个核心是什么?
数据驱动,也叫双向数据绑定。(getter和setter)
组件系统。
5.对于 Vue 是一套 构建用户界面 的 渐进式框架 的理解
在声明式渲染(视图模板引擎)的基础上,我们可以通过添加组件系统、客户端路由、大规模状态管理来构建一个完整的框架。更重要的是,这些功能相互独立,你可以在核心功能的基础上任意选用其他的部件,不一定要全部整合在一起。可以看到,所说的“渐进式”,其实就是Vue的使用方式,同时也体现了Vue的设计的理念
6.vue常用指令
v-if
v-show
v-for
v-bind(动态地绑定一个或多个特性)
v-on(用于监听指定元素的DOM事件,比如点击事件)
v-model
v-pre(跳过这个元素和它的子元素的编译过程。)
v-once(只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。)
7.v-if 和v-show的区别
都是动态显示DOM
v-if是真正的条件渲染,v-show只是简单的改变元素的display属性
v-if适合运行时,条件很少改变的场景,v-show适合运行时条件频繁改变的 场景
8.vue常用修饰符
.stop
.prevent
.capture(默认在冒泡阶段中监听事件,使用v-on:click.capture后,在捕获阶段中监听事件)
.self
.{keyCode | keyAlias} (只当事件是从特定键触发时才触发回调)
.native监听组件根元素的原生事件
.once
.left
.right
.middle
.passive(表示处理事件函数中不会调用preventDefault函数,就会减少了额外的监听,从而提高了性能;)
.number 输入字符串转为数字
.trim 输入首尾空格过滤
9.v-on可以监听多个方法吗
可以

只响应methodsOne
10.vue中key值得作用
用于管理可复用的元素。因为vue会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染。
key值相同的,就不会重新渲染,key值不同的,则会重新渲染
11.vue-cli工程升级vue版本
npm-check-updates 升级插件
首先安装插件npm install npm-check-updates -g
然后在待升级工程的目录结构下,命令行输入:ncu
然后升级所有版本,命令行输入:ncu -a
再输入:npm install
12.vue事件中如何使用event对象
event
showEvent(event){ //获取自定义data-id console.log(event.target.dataset.id) //阻止事件冒泡 event.stopPropagation(); //阻止默认 event.preventDefault() }
13.$nextTick的使用
因为Vue的异步更新队列,$nextTick是用来知道什么时候DOM更新完成的。
使用方法:
写在methods中
this.$nextTick(function(){ var text = document.getElementById('div').innnerHTML; console.log(text); });
14.vue组件中data为什么必须是函数
由于原生js的构造函数、原型链特征决定的,如果不是每个组件都返回自己的data,组件之间的数据,就会互相干扰,这是不符合业务需求的
15.v-for与v-if的优先级
当他们处于同一节点,v-for的优先级比v-if的优先级高
  • {{ todo }}

  • 16. vue中子组件调用父组件的方法
    通过父组件v-on 监听 和 子组件$emit触发来实现:
    父组件:

    子组件:

    17.vue中keep-alive组件的作用
    keep-alive:主要用于保留组件状态或避免重新渲染。
    include:字符串或正则表达式。只有匹配的组件会被缓存。
    exclude:字符串或正则表达式。任何匹配的组件都不会被缓存。
    例子:




    18.vue中编写可复用的组件
    prop:允许外部环境传递数据给组件
    事件:允许组件触发外部环境的action
    slot:允许外部环境将内容插入到组件的视图结构内
    注:(单个插槽,多个插槽也叫具名插槽,作用域插槽)
    作用域插槽:使用时候子组件标签中要有