vue题

2020-11-24  本文已影响0人  crayona

1.vue优点  

数据驱动、组件系统

轻量、简单易学、

组件化、双向数据绑定、视图数据结构相分离

虚拟dom

2.父子间传值   

父向子  prop  子向父emit

父provide  子inject

3v-show  v-if

 相同点  控制数据的显示隐藏

不同点  

v-show display:none  只会编译一次

v-if动态向dom树添加在dom树中   ***初始值为dom 不回渲染

4vue单向数据流

父组件的变量,子组件不能直接修改它

5组件之间的传值

父通过绑定变量  子组件通过props接受

子通过emit 触发自定义函数      父通过自定义函数调取参数

兄弟间 eventBus 通过创建中间变量    $emit  $on 项目小比较适合

6 路由跳转  

声明试  router-link

编程式  js跳转           this.$router.go()                   this.$router.push({path:"',name:''})

7vuex 属性

state  getters  mutation action  module

8生命周期

beforeCreat  创建前 无el 无fn  data

created 创建完成   无el    有fn data                    创建了实例和对象

beforeMount 挂载前   $el 与data 都已经初始化了     但是现在的$el 还是放在虚拟dom中

mounted挂载完成    已经渲染$el    ***实例渲染完成 $el已经挂载

beforeUpdate  updated  更新前 /更新完成

destory 销毁

9v-for  v-if 为什么避免同时使用?

v-for 比v-if 优先级要高  ->同时的话 ,会只检查一次

10.v-model 原理

通过Object.defineProperty来劫持数据的getter  setter  监听其变化 发布给订阅者

11.计算属性的缓存和方法运用

相同名字的方法和计算属性有什么区别?

1.计算属性缓存基于其依赖   依赖变化才会变化

2.方法  触发重新渲染时   方法会再次执行

遍历大量数组做计算时,计算属性性能较好 。 不用再次重复计算 ,  除非你不想要“缓存”。

12.事件流

用户与浏览器页面的交互

事件捕获  目标 事件冒泡

阻止默认事件  event.preventDefault()                 @click.prevent

阻止冒泡   event.stopPropagetion()                    @click.stop

当前绑定事件的元素  ev.currentTarget();

当前点击的元素   ev.target();

13

vue-router与location.href区别

location.href 跳转页面

上一篇下一篇

猜你喜欢

热点阅读