vue从入门到精通day03

61 阅读3分钟

day03

1、生命周期钩子(回调函数)

​ 给我们机会可以干预vue的工作流程 ​ 生命周期的执行顺序是固定的 ​

创建前  初始化数据前    数据打印看不到
创建后	初始化数据后    数据打印可以看到

挂载前	初始页面不显示  初始页面的元素看不到
挂载后	初始页面显示	初始页面元素可以看到




更新前	页面更新前	实例数据是对的页面渲染的数据是错的
更新后	页面更新后	实例数据是对的页面渲染的数据是对的

销毁前	实例销毁前	在销毁前内部清除定时器
销毁后	实例销毁后	一般不用


使用mounted和beforeDestory比较频繁,mounted内部我们经常去做异步操作,添加事件 定时器  ajax
当调用了vm.$destroy(),	beforeDestory和destoryed才会执行,beforeDestory做收尾工作:清除定时器等

2、过渡和动画的实现

​ 参考官网 ​ 类名会自动添加给需要的元素,也就是transition标签内部的元素

3、vue的内置指令

​ v-text ​ v-html ​ v-on //绑定事件 简写@ ​ v-bind //单向数据绑定 : ​ v-for //列表渲染 ​ v-if //条件渲染 ​ v-else ​ v-show //条件渲染 ​ v-model ​ ref //为特定的元素添加引用标识,实例的$refs内部可以获取到

4、自定义过滤器(参考官网)

​ 展示数据的时候,对数据进行处理(格式化之后再显示,不会影响原数据) ​ 使用moment插件 ​ 定义全局过滤器 ​ Vue.filter('过滤器名字',回调函数); ​ 定义局部过滤器 ​ 在vm当中fliters对象当中配置

5、自定义指令(和定义过滤器很像,参考官网)

定义全局指令
	Vue.directive('过滤器名字',回调函数);
定义局部指令
	在vm当中directives对象当中配置

注意:指令的名称必须是全小写,不能大写

6、自定义插件(参考官网)

​ 插件的作用: ​ 定义插件对象,为Vue和Vue的实例添加一些额外功能

插件对象必须声明使用  Vue.use()

7、自定义组件(非单文件组件)

定义全局组件:
	复杂方式:
		1、定义组件,本质是通过Vue.extend(option配置对象)定义一个组件函数(以后用来作为构造函数使用)
		2、注册组件,本质就是为组件定义一个组件名称(组件标签名) Vue.component('标签名',组件函数)
		3、使用组件,组件标签名在解析的时候会自动对应到每一个组件函数的实例,每个实例服务一个组件标签
	简化方式:
		简化方式: Vue.component('标签名',option配置对象)

	组件当中的data选项为什么非得是一个函数,而不能是一个对象?

定义局部组件:

​ ​ ​ 缺点: 这样定义组件麻烦、模板没提示 样式没法单独搞, 没法使用模块化解析ES6语法

8、单文件组件(把上面的父子组件改为单文件组件)

1、先在你的项目当中创建一个components文件夹,用于放置我们后期定义的组件(配置对象)
2、在你写代码的地方,一般我们需要创建一个App.vue的文件,它用于组装我们定义好的组件,App本质也是一个组件
3、vm实例最终只需要去把App组件给注册然后去渲染就好了

​ ​ 一个.vue文件,里面包含了组件的结构样式和行为,其实本质就是我们的配置对象(文件)

写法高亮 比较明了  但是需要模块化  需要搭建环境

9、脚手架的安装和目录结构

10、组件模板解析

​ Vue渲染两种方式: ​ 1、render:h => h(App) ​ 2、components注册组件,template解析,但是vue导入需要导入带解析器的版本