vue 内容渲染和属性绑定

  1. 内容渲染指令 1. 使用v-text指令,将数据采用纯文本方式填充其空元素中
    javascript 复制代码
    <script setup>
        import { reactive } from 'vue'
        let student = reactive({
            name: 'Jack',
            desc: '<h3>我是来自中国的小朋友!</h3>'
        })
    </script>
    <template>
      <!-- 使用v-text指令,将数据采用纯文本方式填充其空元素中 -->
      <div v-text="student.name"></div>
      <!-- v-text:以纯文本的方式显示数据 -->
      <div v-text="student.desc"></div>
      <!-- 下面的代码会报错:div 元素不是空元素 -->
      <!-- <div v-text="student.name">这是原始的div数据</div> -->
    </template>
    1. {``{ }}插值表达式:在元素中的某一位置采用纯文本的方式渲染数据

    <div>这是一个 DIV 元素,{{ student.name }},{{ student.desc }}</div>

    1. 使用v-html指令,将数据采用HTML语法填充其空元素中
    javascript 复制代码
    <script setup>
    
    import { reactive } from 'vue'
    
    let student = reactive({
        name: 'Jack',
        desc: '<h3>我是来自中国的小朋友!</h3>'
    })
    
    
    </script>
    
    <template>
    
        <!-- 使用v-html指令,将数据采用HTML语法填充其空元素中 -->
    
        <div v-html="student.name"></div>
    
        <!-- v-html:以 HTML 语法显示数据 -->
        <div v-html="student.desc"></div>
    
        <!-- 下面的代码会报错:div 元素不是空元素 -->
        <!-- <div v-html="student.name">这是原始的div数据</div> -->
    
    </template>
  2. 双向绑定指令
    1. v-model双向数据绑定指令,视图数据和数据源同步,

    2. 一般情况下v-model指令用在表单元素中:

      1. 文本类型的<input>和<textarea>元素会绑定value属性并侦听input事件

      2. <input type="checkbox">和<input type="radio">会绑定checked属性并侦听change事件

      3. <select>会绑定value属性并侦听change事件

    3. v-model的修饰符

  3. 属性绑定指令
    1. 响应式地绑定一个元素属性,应该使用v-bind:指令

    2. 如果绑定的值是null或者undefined,那么该属性将会从渲染的元素上移除

    3. 因为v-bind非常常用,我们提供了特定的简写语法:
      1.

      javascript 复制代码
      <script setup>
      import { reactive } from 'vue'
      let picture = reactive({
          src: 'https://uploadfile.bizhizu.cn/2015/0424/20150424015229741.jpg', // 图像地址
          width: 200 // 显示宽度
      })
      </script>
      <template>
          <input type="range" min="100" max="500" v-model="picture.width">
          <hr>
          <!-- v-bind: 为 src 属性绑定指定的数据源 -->
          <img v-bind:src="picture.src" v-bind:width="picture.width">
          <hr>
          <!-- : 是 v-bind: 的缩写形式 -->
          <img :src="picture.src" :width="picture.width">
          <hr>
          <!-- 如果绑定的值是 null 或者 undefined,那么该属性将会从渲染的元素上移除 -->
          <button @click="picture.width = null">设置宽度为NULL</button>
      </template>
    4. 直接使用v-bind来为元素绑定多个属性及其值
      1.

      javascript 复制代码
      <script setup>
      import {reactive} from 'vue'
      let attrs = reactive({
          class: 'error',
          id: 'borderBlue'
      })
      </script>
      <template>
          <!-- 直接使用 v-bind 来为元素绑定多个属性及其值 -->
          <button v-bind="attrs">我是一个普通的按钮</button>
      </template>
      <style>
          .error {
              background-color: rgb(167, 58, 58);
              color: white;
          }
      
          #borderBlue {
              border: 2px solid rgb(44, 67, 167);
          }
      </style>
相关推荐
王哲晓5 分钟前
第三十章 章节练习商品列表组件封装
前端·javascript·vue.js
fg_4118 分钟前
无网络安装ionic和运行
前端·npm
理想不理想v9 分钟前
‌Vue 3相比Vue 2的主要改进‌?
前端·javascript·vue.js·面试
酷酷的阿云19 分钟前
不用ECharts!从0到1徒手撸一个Vue3柱状图
前端·javascript·vue.js
微信:1379712058721 分钟前
web端手机录音
前端
齐 飞27 分钟前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
神仙别闹44 分钟前
基于tensorflow和flask的本地图片库web图片搜索引擎
前端·flask·tensorflow
aPurpleBerry1 小时前
JS常用数组方法 reduce filter find forEach
javascript
GIS程序媛—椰子2 小时前
【Vue 全家桶】7、Vue UI组件库(更新中)
前端·vue.js
DogEgg_0012 小时前
前端八股文(一)HTML 持续更新中。。。
前端·html