Vue3初体验

目录

1、Vue3.html 

2、Vue3和DOM模型操作的代码对比

3、MVVM 框架

MVVM组件

MVVM的优点

MVVM的实现


1、Vue3.html 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style rel="stylesheet">
        tr,td{
            border: 1px solid lightgray;
            text-align: center;
        }
    </style>
    <script src="script/vue3.js"></script>
</head>
<body>
    <div id="app">
            <p v-text="str"></p>
            <table style="border: 1px solid lightgrey;border-collapse: collapse;width: 400px;line-height: 28px;">
                <tr>
                    <td>名称</td>
                    <td>单价</td>
                    <td>库存量</td>
                </tr>
                <tr v-for="f in fruitList">
                    <td>{{f.fname}}</td>
                    <td>{{f.price}}</td>
                    <td v-text="f.fcount"></td>
                </tr>
            </table>
    </div>
    <script>
        //创建一个Vue对象,名称叫app
        const app=Vue.createApp({
            setup() {
                let str="hello VUE3!"

                let fruitList=[
                    {'fname':'apple','price':9,'fcount':20 },
                    {'fname':'banana','price':8,'fcount':21 },
                    {'fname':'orange','price':7,'fcount':22 },
                ]
                
                return {str,fruitList}
            },
        })
        //将这个对象挂载到#app上(其实就是id='app'的元素节点)
        app.mount("#app")
    </script>
</body>
</html>

 

 

Vue3和原始DOM操作的主要区别在于,Vue3是一个MVVM框架,它将视图和数据分离开来,提供了一种声明式的方式来管理视图和数据之间的关系。而原始DOM操作则是直接操作浏览器的DOM元素,需要手动处理视图和数据之间的关系。

在使用Vue3时,开发者可以更加方便地管理视图和数据之间的关系,通过Vue3提供的模板语法和指令来声明视图和数据之间的绑定关系,从而避免手动操作DOM元素的繁琐过程。同时,Vue3还提供了响应式数据、计算属性、组件化等特性,使得开发者可以更加高效地构建复杂的应用程序。

除此之外,Vue3还提供了一些工具和插件,如Vue Router和Vuex等,可以进一步提高开发效率和代码质量。

因此,相比于原始DOM操作,Vue3在视图和数据管理方面更加方便和高效,能够大大减少开发者的工作量,提高开发效率和代码质量。

2、Vue3和DOM模型操作的代码对比

以下是Vue3和DOM模型操作的代码对比:

使用DOM操作动态添加一个按钮元素:

const button = document.createElement('button');
button.innerHTML = 'Click Me';
button.addEventListener('click', () => {
  console.log('Button clicked');
});
document.body.appendChild(button);

使用Vue3的模板语法动态添加一个按钮元素:

<template>
  <button @click="handleClick">Click Me</button>
</template>

<script>
import { reactive } from 'vue'

export default {
  setup() {
    const state = reactive({
      count: 0
    })

    const handleClick = () => {
      state.count++
      console.log('Button clicked')
    }

    return {
      handleClick
    }
  }
}
</script>

可以看到,使用Vue3的模板语法可以更加简洁明了地描述页面逻辑,无需手动操作DOM元素;而使用DOM操作需要手动创建元素、添加事件监听器等,工作量较大且容易出错。另外,使用Vue3还可以结合响应式系统实现数据与视图的自动更新,提高了开发效率和代码可维护性。

3、MVVM 框架

MVVMModel-View-ViewModel )是一种软件架构设计模式,旨在将应用程序的UI、业务逻辑和数据模型进行分离,使得代码更加模块化、可维护和可测试。该模式广泛应用于前端Web开发和移动应用开发。

MVVM组件

  1. Model(模型)
    • 表示数据和业务逻辑。它通常是与数据库交互的类,负责数据的存储、检索和验证。
    • Model通常不知道View或ViewModel的存在,它只关注数据的处理。
  2. View(视图)
    • 负责数据的展示,通常是用户界面(UI)元素,如按钮、文本框等。
    • View不直接处理业务逻辑或数据,它通过绑定与ViewModel进行交互。
  3. ViewModel(视图模型)
    • 是View和Model之间的连接器。它负责将Model中的数据转换为View能够理解和展示的格式。
    • ViewModel还负责处理View中的用户输入,并将其转换为Model可以理解的命令或数据。
    • ViewModel是双向数据绑定的关键,它确保当Model数据发生变化时,View能够自动更新;同样,当View中的用户输入导致数据变化时,Model也能得到更新。

MVVM的优点

  1. 低耦合:View和Model之间不直接通信,而是通过ViewModel进行交互,降低了两者之间的耦合度。

  2. 可重用性:由于View和Model的分离,相同的Model可以被多个View或不同的平台(如Web和移动应用)重用。

  3. 可测试性:由于业务逻辑和数据模型在Model中,而界面展示在View中,这使得对Model和ViewModel的测试变得相对容易。

  4. 双向数据绑定:减少了手动更新UI的需要,当数据变化时,UI会自动更新,反之亦然。

MVVM的实现

在前端开发中,许多框架和库(如Angular、Vue.js和React等)都支持或实现了MVVM模式。这些框架通常提供了数据绑定、组件化和事件处理等机制,以简化MVVM架构的实现。

需要注意的是,虽然MVVM模式在许多情况下都非常有用,但它并不是所有情况的最佳解决方案。在选择使用MVVM或其他架构模式时,应根据项目的具体需求和团队的技能进行评估。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值