首页 > 其他分享 >6 mvvm设计模式

6 mvvm设计模式

时间:2023-02-09 12:06:52浏览次数:42  
标签:Vue createApp mvvm app vm 设计模式 mount


Vue的 createApp 和 mount 方法讲解

  • ​​简介​​
  • ​​最常见的Vue初级代码​​
  • ​​createApp() 和 mount() 方法讲解​​
  • ​​createApp() 方法的基本参数讲解​​
  • ​​如何获取Vue的根组件vm​​
  • ​​mvvm设计模式讲解​​
  • ​​总结​​

简介

从这节开始,我们将详细学习Vue3的基础语法,这些语法我会详细的讲解,目的是让大家理解并且会使用。

所以这篇文章开始,都需要你认真的学习。

最常见的Vue初级代码

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Demo6</title>
<script src="https://unpkg.com/vue@next"></script>
</head>

<body>
<div id="app"></div>
</body>
<script>
const app = Vue.createApp({})
app.mount("#app")
</script>

</html>

createApp() 和 mount() 方法讲解

现在你先看下面两句JavaScript代码,代码中有两个重要的方法 ​​createApp()​​​ 和 ​​mount()​​。

const app = Vue.createApp({})
app.mount("#app")

createApp()方法

在第一篇文章编写HelloWorld的时候,就写过这句话 ​​Vue.createApp()​​ 从英文单词上理解,这个就是创建一个应用create-创建,App-Application-应用,前面的Vue就是Vue这个框架,所以Vue.createApp()的意思就是创建一个Vue的应用。

mount()方法

mount()方法就是挂载到某个Html的DOM节点上,它接受一个字符串型参数,参数可以使用CSS选择器,一般都是ID选择器的形式,指定挂载的DOM元素。

createApp() 方法的基本参数讲解

当你明白了createApp()方法的作用,接下来可以更深层次的去了解它的参数。

首先它接受一个对象形式的参数​​{}​​。

这个对象就是告诉Vue应该如何展现我们最外层的组件, 根据我们在初始章节学习的内容,我们很容易写出下面的内容。

<script>
const app = Vue.createApp({
data() {
return {
message: 'mybj123.com'
}
},
template: "<h2>{{message}}</h2>"
})
app.mount("#app")
</script>

写完后,可以到浏览器中预览一下结果。

如何获取Vue的根组件vm

当你使用creatApp()方法创建了一个Vue应用时,如何能获取根组件呢?

其实你使用mount()方法时,就会返回根组件。

下面的代码,声明一个变量来获取根组件,并打印出来。通过打印你可以看出根组件是一个​​Proxy​​形式的对象。

const vm = app.mount("#app")
console.log(vm)

这里为什么我把根组件起名为vm那?

我们先来了解一下Vue的设计模式。

mvvm设计模式讲解

Vue的编程设计模式应该叫做mvvm的设计模式,什么叫做mvvm呢?

它首先是面向数据的编程,程序中定义了数据,然后定义了模板,Vue就可以把数据和模板自动进行关联。

最后挂载到真实的DOM上,展示给用户。

mvvm解释: 第一个m代表model数据,第一个v代表view视图,最后两个字幕vm代表viewModel视图数据连接层。

如果你看完这个解释还不太明白,我们可以看一下 ​​Demo6.html​​ 进行理解。

<script>
const app = Vue.createApp({
data() {
return {
// 1.在这里定义了数据,也就是`model`数据
message: 'mybj123.com'
}
},
//2.在这里定义了模板,也就是`view`,
//定义后的自动关联,就叫做`vm`,viewModel数据视图连接层。
template: "<h2>{{message}}</h2>"
})
const vm = app.mount("#app")
console.log(vm)
</script>

model数据,是我们自己定义的,view模板也是我们自己定义的,但是vm是Vue自动给我们关联的。

当我们明白了什么是mvvm后,你就知道为什么我们给根组件起名vm了。

当我们获取了vm 根节点后,其实就可以操作里边的数据了。比如在控制台中输入下面的代码:

vm.$data.message ='willem笔记'

这个时候你会发现网页界面也跟着发生了变化,变成了willem笔记。

6 mvvm设计模式_laravel

总结

首先我们学习了Vue中的两个最基本方法 ​​createApp()​​​ 和 ​​mount()​​ ,然后学习了如何获取和使用根组件,在学习根组件的时候又讲解了Vue框架的基本模式是mvvm,并对mvvm模式进行了具体讲解。


标签:Vue,createApp,mvvm,app,vm,设计模式,mount
From: https://blog.51cto.com/u_13571520/6046595

相关文章

  • 设计模式
    一.设计模式分为1.创建型模式2.结构型模式3.行为型模式二.创建型模式1.简单工厂(工厂方法)模式:隐藏创建对象的细节,在使用时才选择创建哪个对象(建议使用反射);就是一个......
  • 常用设计模式 每一个demo 和每一个大或者小的项目, 想写好代码,都会用到
    设计原则①单一职责原则(SRP)使函数或对象功能尽量单一,应该把对象或方法划分成较小的粒度②最少知识原则(LKP)自我理解:最少知识指最少地知道认识;简而言之就是尽量降低方法或模......
  • 谈谈我工作中的23个设计模式
    作者:闵大为(天未)序从基础的角度看,设计模式是研究类本身或者类与类之间的协作模式,是进行抽象归纳的一个很好的速成思路。后面阅读设计模式后,为了加深理解,对相关图片进行......
  • MVC与MVVM
    MVC:是Model(模型)View(视图)Controller(控制器)的缩写,是服务端分层开发的概念,本质上是用一种将数据、界面显示、业务逻辑分离的方法组织代码的软件开发设计典范。(1)Model:数据层,......
  • 软件设计模式
    有人说设计模式大致总结为23种,有人说29种,各式各样。我们讨论的不限于23种,关键掌握的是一些常用的设计模式。编程时一种技术,更加是一门艺术。不能只满足于写完代码运行结果正......
  • 设计模式-建造者模式
    建造者模式builderModle.h#pragmaonce#include<iostream>#include<string>usingnamespacestd;classPhone{public: Phone(){} ~Phone(){} voidsetB......
  • 设计模式-单例模式
    简易单例模型easysiglemodle.h#ifndefEASYSIGLEMODLE_H#defineEASYSIGLEMODLE_H#include<iostream>usingnamespacestd;classEasySingleModle{public:......
  • 设计模式-工厂模式/抽象工厂模式
    工厂模式#include<iostream>#include<string>usingnamespacestd;classShape{public: virtualvoiddraw()=0;};classRectangle:publicShape{pub......
  • 搞懂设计模式——代理模式 + 原理分析
    作者:京东零售秦浩然引子举个栗子,众所周知,我们是可以在京东上购买机票的。但机票是航司提供的,我们本质上是代理销售而已。那为什么航司要让我们代理销售呢?我们又是如帮他做......
  • 设计模式-策略模式升级(服务定位器模式)
    设计模式-策略模式(服务定位器模式)前言:正文开始前先抛出一个问题,项目开发中如果让你设计支付模块,目前有支付宝、微信、各大银行的部分,你会如何设计支付这块的代码?在调用的......