Vue3.0入门基础1

263 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情

MVVM是什么?

MVVM ,全称为:Model-View-ViewModel,是一种基于前端开发的架构模式,它的核心是提供对 View 和 ViewModel 的双向数据绑定,这使得 View 的变化会自动更新到 ViewModel,ViewModel 的变化也会自动同步到View 上显示,即所谓的“数据双向绑定”。

1.View? 表示视图,即 DOM;对应 HTML 部分(代表 UI 组件),它负责将数据模型转化成 UI 展现出来。

2.Model? 表示模型,即数据模型;对应 Vue 组件里的 data,或者说是 vuex 里的数据;也可以在 Model 中定义数据修改和操作的业务逻辑。

3.ViewModel? 即监听模型数据,也就是 data 的的改变和控制视图行为、处理用户交互,简单理解就是一个同步 View 和 Model 的对象,连接 Model模型 和 View视图。

指令篇

v-text和v-html

  • v-text
    v-text可用于更新元素的文本内容
    v-text可设置元素内容,如果数据中有HTML标签会将html标签一并输出
  • v-html
    v-html可用于更新元素的innerHtml
    v-html可设置元素内容,如果数据中有HTML标签会被解析为html元素一并输出
<template>
  <div>
    <div v-text="textData"></div> 
    <div v-html="htmlData"></div> 
  </div> 
</template>     
<script> 
import {ref} from "vue"
export default {    
  setup() {
    const textData = ref("这里展示的只有文字");
    const htmlData = ref("<span style="color:red">这里展示的文字是红色的哦</span>");
    return {
      textData,htmlData
    }
  } 
} 
</script>

v-show和v-if

  • v-show
    显示/隐藏元素(通过css属性display:none控制,不删除元素)
    适合频繁切换,有更高的初始渲染消耗
  • v-if
    显示/隐藏元素(卸载)
    v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件
    v-if是惰性的,条件第一次变为真时才开始局部编译
<template>
  <div>
    <div v-show="show">123</div> 
    <div v-if="show">456</div> 
  </div> 
</template>     
<script> 
export default {    
  setup() {
    const show = true;
    return {
      show
    }
  } 
} 
</script>