vue常见面试(1)

v-if和v-show的区别?

v-if是通过控制节点来控制元素的显示,v-show是通过样式来实现元素的显示,也就是display:none;
v-if和v-else可以一起使用的,要使用v-else必须要有v-if
v-if如果值为false,那么它就不加载,但v-show不是,v-if是惰性加载
使用场景不同,v-if通常用在元素并不是那么频繁切换的元素上,v-show则反之。原因,频繁的消耗节点,不利网站性能。

vue中常见的指令

普通数据绑定:v-html,v-text,{{}}
区别:只有v-html 可以解析标签,v-text不会造成首次闪屏问题
表单数据绑定:
v-model
v-model是双向绑定的
原理:vue的双向绑定原理简单来说就是:vue内部使用object.defineProperty方法给所有数据加上getter和setter方法,在数据发生改变时发布消息给订阅者Watcher,触发响应的监听回调。
事件绑定:
v-on
属性绑定:
v-bind
列表渲染:
v-for
v-if和v-for的区别
v-for高于v-if,所以不要把v-for和v-if放在同一个标签上,会造成性能浪费。
其中key有什么作用?
当 Vue 正在更新使用 v-for 渲染的元素列表时,它默认使用“就地更新”的策略。为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性。
注意:不要使用对象或数组之类的非基本类型值作为 v-for 的 key。请用字符串或数值类型的值。

watch和computed的区别以及使用场景

区别:
watch中的函数是不需要调用的
computed内部的函数调用的时候不需要加()

  watch 属性监听 监听属性的变化
    computed:计算属性 通过属性计算而得来的属性

    watch需要在数据变化时执行异步或开销较大的操作时使用
    computed 属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。主要当作属性来使用。

    使用场景:
    computed     
        当一个属性受多个属性影响的时候就需要用到computed
        最典型的例子: 购物车商品结算的时候
    watch
        当一条数据影响多条数据的时候就需要用watch
        搜索数据

vue检测不到数组的改变,怎么解决?

(1)vm.arr.splice(index, 1, newValue)
    (2)vm.$set(vm.arr, index, newValue)
    (3)Vue.set(vm.arr, index, newValue)

vue检测不到对象添加或者删除了一个属性怎么办?

(1)Vue.set(vm.user, ‘age’, 27) (2)vm.$set(vm.user, ‘age’, 27)

解释 MVVM

    M-model 模型-数据
    V-view 视图-浏览器
    VM-viewModel 视图模型(控制器)
    模型通过控制器控制视图 视图又可以通过控制器修改模型 控制器是连接模型和视图的桥梁

MVVM类型的框架和jq有什么区别?分别适用什么场景?

    MVVM更擅长数据的增删改查,
    jq更擅长的是dom节点操作 动画效果 
    场景:数据多选择mvvm,动画或者dom节点操作比较多,选择jq
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值