1、生命周期
created vue实例创建,data 数据的初始化,属性方法运算,事件回调
motunted 挂载完成,模板中的HTML渲染到HTML页面中
updated 跟新数据并渲染htmlDOM树
destroyed 销毁实例,事件,回调函数机制移除
异步请求在哪一步发起?
可以在钩子函数 created、beforeMount、mounted 中进行异步请求,因为在这三个钩子函数中,data已经创建,可以将服务器端返回的数据进行赋值。
2、父子之间的通信
props和$emit
1、父组件通过 props 向下传递数据给子组件。注:组件中的数据共有三种形式:data、props、computed
2、子组件向父组件传值(通过事件形式)
注意:1.父组件A向子组件B通过props
2.子组件B向父组件A,通过B组件中的emit,A组件的v-on来事项。
emit/on
vuex
3、方法method、侦听属性watch、计算方法computed
1、计算属性computed:可以缓存数据,只在依赖的数据改变时才重新求值,只要依赖的数据没有发生改变,便会立即返回缓存的计算结果,不必再次执行
侦听watch:一些数据随着其他数据变动而变动,主要执行异步操作或开销较大时使用
2、computed和method的区别
computed是属性调用,而method是函数调用
3、computed和watch的区别
1.computed和watch都是观察页面的数据变化的。
2.computed只有当页面数据变化时才会计算,当数据没有变化的时候,他会读取缓存。而watch每次都需要执行函数,methods也是每次都需要执行
3.数据变化时执行异步或者开销比较大的操作的时候,这时候使用watch是合适的
总结:
computed有缓存,只有依赖的数据有变化时才会求值,当依赖的数据没有变化是是不会求值的,
watch每次都会求值,主要当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。method也是每次都会求值
4、一个组件的data必须是一个函数
每个实例可以维护一份被返回对象的的独立拷贝
如果没有这个规则的话,当按下一个按钮的时候,其他按钮是会受到他的影响的。
5、插槽
1、slot最为插槽分发内容的出口
2、prop可以定义组件标签上的自定义attribute,attribute的值就变成了组件实例的一个property。
6、组件模板只能有一个根元素
根元素描述