0

0

归纳整理VUE实例参数与MVVM模式知识点

WBOY

WBOY

发布时间:2022-08-09 17:37:38

|

2324人浏览过

|

来源于CSDN

转载

本篇文章给大家带来了关于vue的相关知识,其中主要介绍了关于vue实例参数以及mvvm模式的相关问题,实例化一个vue对象,参数是一个选项对象,下面一起来看一下,希望对大家有帮助。

归纳整理VUE实例参数与MVVM模式知识点

【相关推荐:javascript视频教程web前端

配置参数

实例化一个Vue对象,参数是一个选项对象,下面将会对其中包含的选项做些简单的说明。

new Vue({
  options})

在Vue实例中可以通过this.$options查看实例的配置项

立即学习前端免费学习笔记(深入)”;

在这里插入图片描述

数据相关选项

选项 说明
data 声明需要响应式绑定的数据对象
props 接收来自父组件的数据
propsData 创建实例时手动传递props,方便测试props
computed 用于声明计算属性
methods 用于定义Vue实例的方法
watch 侦听属性,监控 Vue 实例上的数据变动,并调用其回调函数

DOM相关选项

选项 说明
el 声明Vue根组件的挂载点(根组件特有)
template 用于挂载元素的字符串模板
render 渲染函数,用于创建虚拟DOM,是字符串模板的替代方案
renderError 仅用于开发环境,在render()出现错误时,提供另外的渲染输出

生命周期钩子相关选项

选项 说明
beforeCreate 发生在Vue实例初始化之后,data observer和event/watcher事件被配置之前
created 发生在Vue实例初始化以及data observer和event/watcher事件被配置之后
beforeMount 挂载开始之前被调用,此时render()首次被调用
mounted el被新建的vm.$el替换,并挂载到实例上之后调用
beforeUpdate 数据更新时调用,发生在虚拟DOM重新渲染和打补丁之前
updated 数据更改导致虚拟DOM重新渲染和打补丁之后被调用
activated keep-alive组件激活时调用
deactivated keep-alive组件停用时调用
beforeDestroy 实例销毁之前调用,Vue实例依然可用
destroyed Vue实例销毁后调用,事件监听和子实例全部被移除,释放系统资源

资源相关选项

选项 说明
directives 配置局部注册的自定义指令
filters 过滤器,针对一些数据进行筛选、过滤、格式化等相关的处理,过滤器是一个带有参数和返回值的方法 ,只能用在{{}}和v-bind里面。
components 配置局部注册组件

组合选项

选项 说明
parent 指定当前实例的父实例,子实例用this.$parent访问父实例,父实例通过$children数组访问子实例
mixins 将属性混入Vue实例对象,并在Vue自身实例对象的属性被调用之前得到执行(组件的多继承)
extends 用于声明继承另一个组件,从而无需使用Vue.extend,便于扩展单文件组件(组件的单继承)
provide&inject 2个属性需要一起使用,用来向所有子组件注入依赖

其它选项

选项 说明
name 允许组件递归调用自身,便于调试时显示更加友好的警告信息
delimiters 改变模板字符串的风格,默认为{{}}
functional 让组件无状态(没有data)和无实例(没有this上下文)
model 允许自定义组件使用v-model时定制prop和event
inheritAttrs 默认情况下,父作用域的非props属性绑定会应用在子组件的根元素上。当编写嵌套有其它组件或元素的组件时,可以将该属性设置为false关闭这些默认行为
comments 设为true时会保留并且渲染模板中的HTML注释

了解MVC

Model、View、Controller,分别表示数据、视图、控制器。其实这只是一种设计思想,

Model:数据模型,用来存储数据

View:视图界面,用来展示UI界面和响应用户交互

Controller:控制器(大管家角色),监听模型数据的改变和控制视图行为、处理用户交互

MVVM模式

M(model):代表的是数据

V(view):代表的是视图(页面)

SEEK.ai
SEEK.ai

AI驱动的智能数据解决方案,询问您的任何数据并立即获得答案

下载

VM(viewmodel):代表的是视图模型,作用:用来管理视图和模型的转换

MVVM是MVC的增强版,实质上和MVC没有本质区别,只是代码的位置变动而已

在这里插入图片描述
简单来说就是视图发生改变时模型也会发生改变,模型发生改变时视图也会发生改变,这就是vue的数据双向绑定
关键点在于 data 如何更新 view,因为 view 更新 data 其实可以通过事件监听即可,比如 input 标签监听 input 事件就可以实现了

双向绑定步骤:

  • 实现一个监听器 Observer,用来劫持并监听所有属性,如果有变动的,就通知订阅者。

  • 实现一个订阅者 Watcher,可以收到属性的变化通知并执行相应的函数,从而更新视图。

  • 实现一个解析器 Compile,可以扫描和解析每个节点的相关指令,并根据初始化模板数据以及初始化相应的订阅器。

vue的双向绑定原理:

vue数据的双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的。其核心就是通过Object.defineProperty()方法设置set和get函数来实现数据的劫持,在数据变化时发布消息给订阅者,触发相应的监听回调。也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变;

【相关推荐:javascript视频教程web前端

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

320

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

212

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1502

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

624

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

653

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

609

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

172

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

83

2025.08.07

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

9

2026.01.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 7.4万人学习

Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 1.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号