vue面试题目|vue组件化理解,v-for,v-model

43. v-if和v-for哪个优先级更高?如果同时出现,应如何优化?

v-for优先于v-if被解析,如果同时出现,每次渲染都会先执行循环再判断条件,无论如何循环都不可避免,浪费了性能。

要避免出现这种情况,则在外层嵌套template,在这一层进行v-if判断,然后在内部进行v-for循环。如果条件出现在循环内部,可通过计算属性提前过滤掉那些不需要显示的项

v-for要优先于v-if被解析,如果同时出现每次渲染都会先执行循环在进行判断条件,五路如何循环都不可以避免,浪费了性能

要避免出现这种情况,则在外层嵌套template在这一层进行v-if判断,然后再内部进行v-for循环,如果条件出现在循环内部可以通过计算属性提前过滤那些不需要显示的向

要避免出现这种情况则在外层嵌套template在这一层进行v-if判断,然后再内部进行v-for循环,如果条件出现在循环的内部,可以通过计算属性提前过滤掉那些不需要显示的项

44. 对Vue组件化的理解

1组件是独立和可复用的代码组织单元。组件系统是Vue核心特性之一,它使开发者使用小型、独立和通常可复用的组件构建大型应用;2组件化开发能大幅提高应用开发效率、测试性、复用性等;3组件使用按分类有:页面组件、业务组件、通用组件;4vue的组件是基于配置的,我们通常编写的组件是组件配置而非组件,框架后续会生成其构造函数,它们基于VueComponent,扩展于Vue;5vue中常见组件化技术有:属性prop,自定义事件,插槽等,它们主要用于组件通信、扩展等;6.合理的划分组件,有助于提升应用性能;7组件应该是高内聚、低耦合的;8遵循单向数据流的原则。

组件是独立的可复用的代码组织单元,

页面组件,业务组件,通用组件,

vue的组件是基于配置的,我们通常编写的组件是组件配置的而非组件的,框架后续会生成器构造函数,基于vueComponent扩展与vue

45.对vue设计原则的理解

渐进式javascript框架和其他大型狂阿基不同搞得是vue被设计可以字底向上逐层应用,vue的核心库只关注视图层层,不仅容易上手,还便于和第三方库或者机油项目整合,另一方面,当与现代化的工具链以及各种支持类库结合使用的时候,vue页完全能够为复杂的单页应用提供驱动

易用性:vue提供数据响应式,声明式模板语法和基于配置的组件系统等核心特性,这些使得我们只需要关注应用的核心业务就可以了只要会写js,html,css就能轻松编写vue应用了

高效性:超快的虚拟蒂欧尼diff算法使得我们的应用拥有了最佳的

47. v-model的实现原理

vue中v-model可以实现数据的双向绑定,但是为什么这个指令就可以实现数据的双向绑定呢?其实v-model是vue的一个语法糖。即利用v-model绑定数据后,既绑定了数据,又添加了一个input事件监听。实现原理:●v-bind绑定响应数据●触发input事件并传递数据示例:

<input v-model="text"></input>
// 等价于:
<input :value="text" @input="text = $event.target.value"></input>
// 组件中使用:
<custom-input :value="text" @input="$event"></custom-input>
// 根据v-model原理模拟:
<input type="text" id="ipt1">
<input type="text" id="ipt2">
<script>
    var ipt1=document.getElementById('ipt1');
    var ipt2=document.getElementById('ipt2');
    ipt1.addEventListener("input",function(){
        ipt2.value=ipt1.value;
    })
</script>
全部评论
vue2,vue3对于v-for和v-if的优先级是相反的,应该分别讨论吧
点赞
送花
回复
分享
发布于 昨天 12:49 四川

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务