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 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万5 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
A黄俊辉A5 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
三十而立洋5 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁5 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄5 天前
JavaScript 隐式全局变量解析
javascript
honkun65 天前
vue 表格组件 vxe-table 配置 ajax 请求自动加载数据与表单查询
vue.js·vxe-table
kybs19915 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net