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:允许外部环境将内容插入到组件的视图结构内

    注:(单个插槽,多个插槽也叫具名插槽,作用域插槽)

    作用域插槽:使用时候子组件标签中要有