- Vue中的data为什么是一个函数,不是对象?
- 函数使得每个组件实例有自己的作用域,每个实例相互独立,不会相互影响。对象是引用数据类型,每个组件里面的data都是存储在同一个地址,一个数据改变了其他也会改变。
- Vue2生命周期函数各阶段对应事情:
- BeforeCreate => Created => BeforeMount => Mounted => BeforeUpdate => updated => Beforedestory => Destoryed
- 开始创建、初始化数据、编译模板、挂载DOM—>渲染、更新—>渲染、卸载
- Vue组件通讯:
- 父子组件:
- 父传子:通过在子组件中prop注册,定义父组件传进来的属性。父组件中可以直接传该属性的值,也可以动态绑定:值。子组件中可通过this.访问到该属性。
- 子传父:在子组件中通过事件触发this.$emit(‘事件名’, 值),父组件通过一个监听器用子组件传过来的事件名@事件名=’函数名’,通过用函数参数(val)来接受子组件传过来的值;或者通过@事件名=’属性名 + = e v e n t ’,用 event’,用 event’,用event来访问到抛出的这个值。
- “双向绑定”:通过“updata:属性名”来触发事件,按正常的子组件中通过prop来定义接收值,和通过事件触发this.$emit()来向父组件传值;父组件中通过修饰符.sync来接收和传值,绑定在组件中:属性名.sync=”属性”来进行。
- 兄弟组件:
- 以父组件为中介,像子传父、父传子的形式进行通讯
- 创建一个总线文件bus.js,兄弟组件都引入该文件
- 父子组件:
- vue-router
- history和hash两种模式的区别
- history拥有html5中新增的pushState()和replaceState()方法,pushState方法一直会把记录添加到栈;
- hash在地址栏URL中多了一个#字符。
- history模式的URL必须做到路由全覆盖,否则会返回404
- hash模式只有#字符之前的内容会包含在请求中,即使没有路 由全覆盖,也不会返回404
- history和hash两种模式的区别
vue2基础知识
最新推荐文章于 2024-08-15 16:38:30 发布