- v-if和v-for谁的优先级最高?
1、v-for的优先级高于v-if
2、如果同时出现v-for v-if的话,无论v-if判断条件是否成立,都会执行一遍v-for循环
3、应该把判断条件提取出来写在循环外
- vue组件data为什么必须是函数?
简单解释,组件compent都是可以复用的,如果data不是函数,而是对象那么每次new Component();的时候data都是一样的
详细解释可以参考:Vue组件中的data为什么必须是一个函数 - vue中的key的作用和工作原理?
key可以管理可复用的元素,减少不必要的元素的重新渲染,也要让必要的元素能够重新渲染。
key的作用必须结合diff算法来解释。 - 你怎么理解vue中的diff算法?
Vue中的diff算法
- 谈一谈对vue设计原则的理解?
Vue.js不是一个框架——它只聚焦视图层,是一个构建数据驱动的web界面的库。
特性:
1. 轻量 体积小,不依赖其他基础库;
2. 数据绑定
3. 指令
- 对MVC、MVVM的理解?
MVC:模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。
model:模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
view:视图代表模型包含的数据的可视化。
controller:控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。
MVVM:MVVM是Model-View-ViewModel的简写, 一种新型架构框架。
View一般就是我们平常说的HTML文本的Js模板,里面可以嵌入一些js模板的代码;ViewModule层里面就是我们对于这个视图区域的一切js可视业务逻辑,举个例子,比如图片走马灯特效,比如表单按钮点击提交,这些自定义事件的注册和处理逻辑都写在ViewModule里面;Model就是对于纯数据的处理,比如增删改查,与后台CGI做交互;
MVVM是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到View上。
特点:
1. View的变化会自动更新到viewModel;
2. viewModel的变化也会自动同步到view上显示;
3.这种同步是因为viewModel中的属性实现了observer(观察者);
4.当属性变更都能触发对应的操作; - 你了解哪些vue性能优化方法?
vuejs项目性能优化总结
一次面试前端,关于vue相关问题总结
最新推荐文章于 2024-07-19 16:45:35 发布