分两部分
一个是HTML页面里面直接写vue实例
一个是通过脚手架搭建vue环境
脚手架分两部分一个是包含webpack
一个是不包含webpack
不包含webpack是vue-cli3.0以后
也是在说明webpack3.0或者webpack4.0
配置脚手架是必须学的
不管怎么搭建怎么配置核心是不会变的
而且你有没有发现跑起来的时候却是服务器运行nodejs
事件异步http请求 promise 定时器 async与await等js的知识显得更重要
axios封装的请求库 结合async与await 封装api
采用nodejs的koa按需模块web框架
或者express集成的web框架
还有包含http协议的知识与跨域以及数据库操作mysql或者MongoDB也是必不可少的
运行时的变量,执行函数时的上下文,作用域,作用域链,闭包,垃圾收集机制,标记清除,计数清除,以及基本或引用数据类型的栈与堆,函数的构造原型知识。
从浏览器如何发送请求三次握手单向请求响应页面 以及网页优化等待加载时间,js,css,HTML,img,等等
web存储indexedDB cookie localstorage sessionstorage 离线缓存manifest
等等
上面的知识都是你在运用vue的时候需要掌握熟练使用的
至于ui组件,其实看着文档学几天直接可以用了
MVVM模式
视图与数据的交互通过vue连起来
下面是脚手架的.vue组件实例
script:“vue-loader”: “^15.9.2”,
vue-loader15.0的版本需要在webpack里面设置一个插件
用来把匹配的预编译器规则应用于script代码里面
const vueload=require(“vue-loader/lib/plugin”)
style:“vue-style-loader”: “^3.0.1”,
用来编译css,以及扩展的less,sass,
相关的私有化,模块化
template对应 “vue-template-compiler”: “^2.5.2”,
虽然你可以在template里面写原生的标签HTML,但是渲染的原理却有区别,
模板里面有指令有文本绑定的数据有原生写法的HTML标签
把{{}}双括号的数据通过data收集的依赖get与set编译成存文本 如果要编译原生HTML需要使用v-html指令
这是this.$data显示的东西
将@click事件语法糖结合script里面的methods编译成js
把原生写法的HTML标签通过虚拟节点的对象写法在第一次编译的时候转化成真实的dom节点,第二次及以后的加载通过diff算法对比前后节点的差异来进行替换,diff算法一层层的对比,从根节点到子节点,对应位置的对比把改变进行替换,最终渲染成真实节点
三种vue实例的构建方法
构建vue实例用来渲染视图
从html的直接写
到模板,到渲染函数其实都是最终以渲染函数来进行呈现
如果你学过react的函数组件与类组件
那对于jsx写法一定不会模式
其实render渲染函数都是一样的核心 虚拟节点diff算法减少频繁的dom操作
最终会把template script 都写成一个文件通过script链接注入网页
而style样式会被放置在style页面标签里面,当然如果你进行了插件的配置
比如分离
const minicss=require(“mini-css-extract-plugin”)
也会以链接的形式呈现
当合并成一个js文件那么变量名methods与data的冲突就无法避免
所以千万不能重复
原本vue的本意就是减少节点的操作,所以js原生的document就尽量用
this.$refs替换
下面是常用api
指令
一点需要注意v-if 与v-for别一起用
优先级v-for高
v-if="bool"指令数据的改变会直接影响dom节点
自定义的指令
a是dom节点信息
b是指令信息
c是虚拟节点信息