vue的总结(2)

27.vue常见性能优化方式?

1.合理使用v-if和v-show,
2.合理使用computed,
3.v-for加key,
4.自定义事件,dom事件及时销毁,
5.合理使用异步组件,
6.合理使用keepalive,
7.data层级不要太深,
8.使用vue-loader在开发环境做模板编译,
9.前端通用性能优化(如图片懒加载/减少 HTTP请求数/合理设置 HTTP缓存/资源合并与压缩/合并 CSS图片/将 CSS放在 head中/避免重复的资源请求/切分到多个域名),
10.使用ssr
 

28、VUEX 是什么?怎么使用?那种场合能用? 

vuex 是一个专门为 vue 构建的状态管理工具,主要是为了解决 多组间之间状态共享问题。强调的是集中式管理,(组件与组件之间的关系变成了组件与仓库之间的关系)

vuex 的核心包括:state(存放状态)、mutations(同步的更改状态)、actions(发送异步请求,拿到数据)、getters(根据之前的状态派发新的状态)、modules(模块划分)

state 发布一条新的数据,在 getters 里面根据状态派发新的状态,actions 发送异步请求获取数据,然后在 mutations 里面同步的更改数据

应用场合:购物车的数据共享、登入注册
 

29、vue 的指令用法

v-html   //html
v-text   //元素里要显示的内容
v-bind:data    //绑定动态数据   :data
v-on:click      //绑定事件       @click
v-for
v-if //条件渲染指令
v-model    //双向绑定,用于表单

30、vue.js的两个核心是什么?

数据驱动和组件化

31.vue中子组件调用父组件的方法?

1.直接在子组件中通过this.$parent.event来调用父组件的方法。

2.在子组件里用$emit向父组件触发一个事件,父组件监听这个事件就行了。

3.父组件把方法传入子组件中,在子组件里直接调用这个方法。

32.vue中父组件调用子组件的方法?

父组件利用ref属性操作子组件方法。

父:<child ref="childMethod"></child>

 子:method: {
 
  test() {
 
     alert(1)
 
  }
 
}

33.vue页面级组件之间传值?

    1.使用vue-router通过跳转链接带参数传参。

    2.使用本地缓存localStorge。

    3.使用vuex数据管理传值

34.说说vue的动态组件。

 多个组件通过同一个挂载点进行组件的切换,is的值是哪个组件的名称,那么页面就会显示哪个组件。

35.$route和 $router的区别是什么?

$router为VueRouter的实例,是一个全局路由对象,包含了路由跳转的方法、钩子函数等。

$route 是路由信息对象||跳转的路由对象,每一个路由都会有一个route对象,是一个局部对象,包含path,params,hash,query,fullPath,matched,name等路由信息参数。

36.为什么使用vue开发?

组件化开发 单页面路由 丰富的Api方法 双向的数据绑定 单向数据流 易于结合其他第三库

37.vue和react 有什么区别?

1、监听数据变化的实现原理不同**

2、数据流的不同**

3、HoC和mixins**

4、组件通信的区别**

5、模板渲染方式的不同**

6、渲染过程不同**

7、框架本质不同**

38.Vuex和Redux的区别

mvvm和mvc理解 与区别?
View 将请求转交---> Controlle  处理 --->Model数据更新保存 ----->View视图显示

View 接受用户交互请求

View 将请求转交给Controller处理

Controller 操作Model进行数据更新保存

数据更新保存之后,Model会通知View更新

View 更新变化数据使用户得到反馈

MVVM即Model-View-ViewModel,将其中的 View 的状态和行为抽象化,让我们可以将UI和业务逻辑分开。MVVM的优点是低耦合、可重用性、独立开发。

View 接收用户交互请求

View 将请求转交给ViewModel

ViewModel 操作Model数据更新

Model 更新完数据,通知ViewModel数据发生变化

ViewModel 更新View数据

39.说一下vue的生命周期/钩子函数都有哪些?

单组件声明周期图

挂载: beforeCreate => created => beforeMount => mounted

更新: beforeUpdate => updated

销毁: beforeDestroy => destroyed

父子组件生命周期图

挂载: parent beforeCreate => parent created => parent beforeMount => child beforeCreate => child created => child beforeMount => child mounted => parent mounted

更新: parent beforeUpdate => child beforeUpdate => child updated => parent updated

销毁: parent beforeDestroy => child beforeDestroy => child destroyed => parent destroyed

从以上能够看出:

挂载时,子组件是在父组件before mount后开始挂载,并且子组件先mounted,父组件随后

更新时,子组件是在父组件before update后开始更新,子组件先于父组件更新

销毁时,子组件是在父组件before destroy后开始销毁,并且是子组件先销毁,父组件随后。

钩子函数有三种 ,也叫路由守卫

全局导航钩子(跳转前进行判断拦截)  全局路由守卫

router.beforeEach(to, from, next),全局前置守卫

router.beforeResolve(to, from, next),全局的解析守卫

router.afterEach(to, from ,next) 全局的后置守卫

组件内钩子    路由独享的守卫

beforeRouteEnter

beforeRouteUpdate

beforeRouteLeave

单独路由独享组件

beforeEnter   组件内的守卫

40.双向数据绑定的理解?

vue采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty劫持data属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值