前端面试题-vue-MVC和MVVM-VUE常见指令

前端面试题-vue-MVC和MVVM

  • MVC和MVVM
  • VUE常见指令
  • v-if和v-for 为什么不建议一起使用
  • Vue双向数据绑定原理(响应式原理)(v-model)
  • v-if和v-show的区别

写在最先,不知不觉更新面试题系列也一个月过去了,在这个过程中查漏补缺良多。也来到了熟悉又不太熟悉的VUE阶段。看这些八股文有用吗,我感觉当然是有用的,扩展自己的思维,当在工作中遇到不会的东西的时候。你虽然不能完全上手,但是你至少知道有这么东西存在,你大概能联想到是这个东西。编程需要天赋这是毋庸置疑的,但是我们也要相信任何东西都是勤能补拙的。既然不是天才,那就和比大多数平凡人去更努力一点吧… 这当然枯燥,但是这也很有趣!

MVC和MVVM

MVC的全名是Model View Controller,是模型(model)-视图(view)- 控制器(controller)的缩写,一种软件设计典范
1.model(模型):通常模型对象负责在数据库中存取数据
2.view(视图):是应用程序中处理数据显示的部分
3.Controller (控制器):是应用程序中处理用户交互的部分
MVC的思想:把Controller负责将model的数据用View显示出来,换句话说就是在Controller里面把Model的数据赋值给View。

MVVM新增了VM类。
1.ViewModel层:做了两件事达到了数据的双向绑定,一是将模型转换成视图,即将后端传递的数据转换成所看到的页面。实现的方式是:数据绑定。二是将试图转换为模型,即将所看到的页面转换成后端的数据。实现的方式是dom事件的监听。

MVVM和MVC最大的区别就是:它实现了view和Model的自动同步,也就是当Model的属性改变时,我们不在需要自己动手操作DOM,来改变view的显示,而是改变属性后该属性对应view层显示会自动改变。

整体来看,MVVM比MVC精简给和您,不仅简化了业务与界面的依赖,还解决了数据频繁更新的问题,不用在用选择器来操作DOM元素。

VUE常见指令

指令描述
v-text指令绑定的内容会被当成普通文本去执行,如果内容包含html标签不会解析
v-html指令绑定的内容如果存在html标签会被解析(非必要不建议使用,有安全隐患)
v-bind用于绑定数据和元素属性 简写为:(属性
v-on用于绑定事件 简写为(@)
v-model双向数据绑定
v-if条件判断,为真添加元素,为假删除元素 配套的有(v-elif v-else)
v-for循环 语法为(v-for=“(item,idx) in xxx” :key=idx)
v-show条件判断,为真显示,为假不显示
v-cloack解决页面加载过慢页面上会出现{{}}的情况 页面加载完毕才会显示
v-once只执行一次

v-if和v-for 为什么不建议一起使用

首选编辑器会标红,其次他俩在同一个标签中使用,因为解析时先解析v-for(优先级高)再解析 v-if(优先级低)。 如果遇到需要同时使用时可以考虑成计算属性的方式。

Vue双向数据绑定原理(响应式原理)(v-model)

原理:采用数据劫持,结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter/getter ,在数据变动时发布消息给订阅者,触发相应监听回调。
用户看不到setter和getter,但是在内部他们让VUE追踪依赖没在属性被访问和修改时通知变化。

v-if和v-show的区别

v-if在编译过程中会被转换成三元表达式,条件不满足时不渲染此节点,通过dom运算操作。
v-show 会被编译成指令,条件不满足时控制样式讲对应的节点隐藏,通过css样式.
使用场景
v-if适用于在运行时很少改变条件,不需要频繁的切换使用的场景
v-show 适用于需要非常频繁的切换场景的条件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/664533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

突破编程_C++_面试(基础知识(3))

面试题5:函数调用的过程 C 中函数的调用包含参数入栈、函数跳转、保护现场、回复现场等过程,重点过程如下: (1)将函数的参数压入栈中,从右至左压入。 (2)调用函数时,将当…

车载测试Vector工具CANoe——常见问题汇总(上)

车载测试Vector工具CANoe——常见问题汇总(上) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一…

Javaweb之SpringBootWeb案例之yml配置文件的详细解析

4.2 yml配置文件 前面我们一直使用springboot项目创建完毕后自带的application.properties进行属性的配置,那其实呢,在springboot项目当中是支持多种配置方式的,除了支持properties配置文件以外,还支持另外一种类型的配置文件&am…

【数据开发】pyspark入门与RDD编程

【数据开发】pyspark入门与RDD编程 文章目录 1、pyspark介绍2、RDD与基础概念3、RDD编程3.1 Transformation/Action3.2 数据开发流程与环节 1、pyspark介绍 pyspark的用途 机器学习专有的数据分析。数据科学使用Python和支持性库的大数据。 spark与pyspark的关系 spark是一…

简单实践 java spring boot 自动配置模拟

1.概要 1.1 需求,自己写一个redis-spring-boot-starter模拟自动配置 自动配置就是在引入*-starter坐标后,可以已经spring框架的规则实现一些Bean的自动注入,并设置一些参数的默认值,且也可以在引入的工程中修改这些配置的值。这…

金蝶云星空本地构建部署包时报错

文章目录 金蝶云星空本地构建部署包时报错报错内容原因分析 金蝶云星空本地构建部署包时报错 报错内容 描述 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2769,5): error MSB3086: 任务未能使用 SdkToolsPath“”或注册表项“HKEY_LOCAL_MACHIN…

通过低代码开发实现数据可视化应用的简易指南

随着数据分析和决策变得越来越重要,数据可视化应用的需求也不断增长。低代码开发平台为开发人员提供了一种快速构建数据可视化应用的途径,本文将介绍如何利用低代码平台实现数据可视化应用的方法和步骤。 在当今数据驱动的时代,企业和组织需要…

面试150 二进制求和 位运算

Problem: 67. 二进制求和 文章目录 思路复杂度Code 思路 👨‍🏫 参考 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) Code class Solution {public String addBinary(String a, String b){StringBuilder ans new Stri…

MS Access 函数参考手册(MS Access 日期函数、MS Access 其他函数)

目录 MS Access 日期函数 MS Access Date() 函数 MS Access DateAdd() 函数 MS Access DateDiff() 函数 MS Access DatePart() 函数 MS Access DateSerial() 函数 MS Access DateValue() 函数 MS Access Day() 函数 MS Access Format() 函数 MS Access Hour() 函数 …

pyspark学习-spark.sql.functions 聚合函数

https://spark.apache.org/docs/3.4.1/api/python/reference/pyspark.sql/functions.html 1. approx_count_distinct和count_distinct #approx_count_distinct(col:ColumnOrName,rsd:Optionnal[float]None) """ 作用:返回列col的近似不同计数,返回…

C语言:内存函数(memcpy memmove memset memcmp使用)

和黛玉学编程呀------------- 后续更新的节奏就快啦 memcpy使用和模拟实现 使用 void * memcpy ( void * destination, const void * source, size_t num ) 1.函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 2.这个函数在遇到 \0 的时候…

确保分布式系统的稳定性:深入理解接口幂等性

确保分布式系统的稳定性:深入理解接口幂等性 在分布式系统中,网络波动、系统故障或用户操作可能导致同一个请求被多次发送至服务器,如果服务器对每个重复的请求都作出新的响应,就可能导致数据的不一致或业务逻辑的错误。为了解决…

常用抓包软件集合(Fiddler、Charles)

1. Fiddler 介绍:Fiddler是一个免费的HTTP和HTTPS调试工具,支持Windows平台。它可以捕获HTTP和HTTPS流量,并提供了丰富的调试和分析功能。优点:易于安装、易于使用、支持多种扩展、可以提高开发效率。缺点:只支持Wind…

龙芯3A6000_统信UOS_麒麟KYLINOS上创建密钥对加解密文件

原文链接:龙芯3A6000|统信UOS/麒麟KYLINOS上创建密钥对加解密文件 大家好!在当今数字化时代,数据安全变得越来越重要。为了帮助大家更好地保护自己的数据,今天我为大家带来一篇关于在统信UOS和麒麟KYLINOS操作系统上创建和使用密钥…

【日常聊聊】开源软件影响力

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 方向一:开源软件如何推动技术创新 方向二:开源软件的商业模式 方向三:开源软件的安全风险 方…

UDP和TCP的区别和联系

传输层:定义传输数据的协议端口号,以及流控和差错校验。 协议有:TCP、UDP等 UDP和TCP的主要区别包括以下几个方面: 1、连接性与无连接性:TCP是面向连接的传输控制协议,而UDP提供无连接的数据报服务。这意…

为期 90 天的免费数据科学认证(KNIME)

从 2 月 1 日开始,KNIME 官方将免费提供 KNIME 认证 90 天。 无论您是刚刚迈入数据科学领域、已经掌握了一些技术,还是正在构建预测模型,都可以参加为期 90 天的 KNIME 认证挑战赛,完成尽可能多的认证并获得数据科学技能免费认证。…

C#验证字符串是否纯字母:用正则表达式 vs 用Char.IsLetter方法加遍历

目录 一、使用的方法 1.使用正则表达式 2.使用Char.IsLetter方法 二、实例 1. 源码 2.生成效果 一、使用的方法 1.使用正则表达式 使用正则表达式可以验证用户输入的字符串是否为字母。匹配的正则表达式可以是:^[A-Za-z]$、^[A-Za-z]{1,}$、^[A-Za-z]*$。 …

【C语言】数组的应用:扫雷游戏(包含扩展和标记功能)附完整源代码

这个代码还是比较长的,为了增加可读性,我们还是把他的功能分装到了test.c,game.c,game.h里面。 扫雷游戏的规则相信大家来阅读本文之前已经知晓了,如果点到雷就输了,如果不是雷,点到的格子会显…

Pytorch-统计学方法、分布函数、随机抽样、线性代数运算、矩阵分解

Tensor中统计学相关的函数 torch.mean() #返回平均值 torch.sum() #返回总和 torch.prod() #计算所有元素的积 torch.max() # 返回最大值 torch.min() # 返回最小值 torch.argmax() #返回最大值排序的索引值 torch.argmin() #返回最小值排序的索引值 torch.std() #返回标准差 …