首页 > 其他分享 >vue中的指令

vue中的指令

时间:2024-08-28 17:23:18浏览次数:10  
标签:vue Vue 响应 指令 用于 var ref

指令是指使用 v- 开头的,常见的有:v-text,v-html,v-if,v-show,v-model,v-bind,v-on,v-for


v-text用于更新值,不会解析标签,和JavaScript中的innerTEXT类似

<p v-text="message"></p>

v-html:可以将解析标签,和JavaScript中的innerHTML类似

<template>
  <!-- 主体内容区域 -->
  <div>
    <!-- 使用v-html指令将html变量中的内容安全地渲染为HTML -->
    <span v-html="html"></span>
  </div>
</template>

<script setup>
// 定义一个包含HTML内容的字符串变量
var html="<h1>Hello Vue 3!</h1><p>Welcome to the Vue 3 world.</p>"
</script>

v-if:条件渲染,根据表达式的真假来判断是否渲染元素(值为false会直接销毁,不存在)

<template>
  <div>
  <!-- 主体内容区域 -->
  <!-- 条件渲染一个 span 元素,展示动态绑定的 HTML 内容 -->
  <span v-html="html" v-if="is"></span>
  </div>
</template>

<script setup>
// 导入 Vue 的 ref 函数,用于创建响应式引用
import { ref } from 'vue';

// 定义一个包含 HTML 字符串的变量,用于在模板中动态展示
var html="<h1>Hello Vue 3!</h1><p>Welcome to the Vue 3 world.</p>";

// 使用 ref 创建一个响应式的布尔值变量 is,控制 span 元素的显示与隐藏
var is=ref(true);
</script>

v-show:控制元素的 CSS display 属性来切换显示和隐藏(值为false会隐藏,不会销毁)

<template>
  <div>
    <!-- 主体内容区域 -->
    <!-- 使用 v-show 控制 span 元素的显示与隐藏 -->
    <span v-show="is" v-html="html"></span>
  </div>
</template>

<script setup>
// 导入 Vue 的 ref 函数,用于创建响应式引用
import { ref } from 'vue';

// 定义一个包含 HTML 字符串的变量,用于在模板中动态展示
var html = "<h1>Hello Vue 3!</h1><p>Welcome to the Vue 3 world.</p>";

// 使用 ref 创建一个响应式的布尔值变量 is,控制 span 元素的显示与隐藏
var is = ref(true);
</script>


v-model:实现表单输入和其他元素的双向数据绑定

<template>
  <div>
    <!-- 主体内容区域 -->
    <!-- 使用 v-show 控制 span 元素的显示与隐藏 -->
    <span v-show="is" v-html="html"></span>

    <!-- 添加一个输入框并使用 v-model 实现双向绑定 -->
    <input type="text" v-model="inputValue" placeholder="请输入文本">
    <p>输入的内容:{{ inputValue }}</p>
  </div>
</template>

<script setup>
// 导入 Vue 的 ref 函数,用于创建响应式引用
import { ref } from 'vue';

// 定义一个包含 HTML 字符串的变量,用于在模板中动态展示
var html = "<h1>Hello Vue 3!</h1><p>Welcome to the Vue 3 world.</p>";

// 使用 ref 创建一个响应式的布尔值变量 is,控制 span 元素的显示与隐藏
var is = ref(true);

// 使用 ref 创建一个响应式的字符串变量 inputValue,用于双向绑定输入框的内容
var inputValue = ref('');
</script>


v-bind:(通常缩写为 :)用于动态绑定属性到表达式的值

属性内部默认都是字符串,通过v-bind可以将值解剖成变量或者响应式数据

<template>
  <div>
    <!-- 主体内容区域 -->
    <!-- 使用 v-bind 动态绑定 disabled 属性 -->
    <button :disabled="count >= maxCount" @click="increment">点击增加计数</button>
    <p>当前计数:{{ count }}</p>
  </div>
</template>

<script setup>
// 导入 Vue 的 ref 函数,用于创建响应式引用
import { ref } from 'vue';

// 定义一个响应式的计数值
var count = ref(0);

// 定义一个最大计数值
var maxCount = 5;

// 定义一个方法 increment,用于增加计数值
function increment() {
  count.value++;
}

</script>

v-on:绑定事件监听器(可以缩写成 @)

<template>
  <div>
    <!-- 主体内容区域 -->
    <!-- 使用 v-on 绑定 click 事件 -->
    <button @click="increment">点击增加计数</button>
    <p>当前计数:{{ count }}</p>
  </div>
</template>

<script setup>
// 导入 Vue 的 ref 函数,用于创建响应式引用
import { ref } from 'vue';

// 定义一个响应式的计数值
var count = ref(0);

// 定义一个方法 increment,用于增加计数值
function increment() {
  count.value++;
}

</script>


v-for:循环渲染列表或对象的属性

<template>
  <div>
    <!-- 主体内容区域 -->
    <!-- 使用 v-for 渲染列表 -->
    <ul>
      <li v-for="(item, index) in items" :key="index">
       <span>值:{{ item }},索引:{{ index }}</span>
      </li>
    </ul>
  </div>
</template>

<script setup>
// 导入 Vue 的 ref 函数,用于创建响应式引用
import { ref } from 'vue';

// 定义一个响应式的数组,用于存储列表项
var items = ref(['苹果', '香蕉', '橙子']);

</script>

标签:vue,Vue,响应,指令,用于,var,ref
From: https://blog.csdn.net/a1241436267/article/details/141613874

相关文章

  • 计算机毕业设计django+vue小区物业管理系统【开题+论文+程序】
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加快,小区作为城市生活的基本单元,其物业管理水平直接影响着居民的生活质量和社会和谐。传统的小区物业管理方式往往依赖于......
  • vue3的 状态管理库
    1.vue的状态管理库vue常用的状态管理库有 vuex 和Pinia,两者的区别如下:架构设计‌:Vuex采用全局单例模式,通过一个store对象来管理所有的状态;而Pinia采用了分离模式,每个组件都拥有自己的store实例。模块设计:Vuex包含states、mutations、getters、actions、modules,mutat......
  • 外贸管理系统采购销售报关计算机毕业设计VUE/PYTHON/MYSQL
    开发一个基于Vue、Python和MySQL的外贸管理系统,用于处理采购、销售以及报关等业务流程。这样的系统通常涉及前端界面展示、后端逻辑处理以及数据库存储等多个部分。下面是一些关键组件的设计建议:1.技术栈选择前端:Vue.js后端:Python(Flask/Django)数据库:MySQL2.系统......
  • Vue3常见知识**MS【4】
    一、vue2和vue3的区别1、数据绑定原理不同  vue2:数据绑定是利用ES5的一个API:Object.definePropert()对数据进行劫持,结合发布订阅模式的方式来实现的。  vue3:使用了ES6的ProxyAPI对数据代理。相比vue2.x,使用proxy的优势如下:defineProperty只能监听某个属性,不能对......
  • springboot基于vue的汽车租赁系统
    目录摘要 1Abstract 1目录 21绪论 41.1研究背景与意义 41.2国内外研究现状 41.3研究内容 51.4论文结构 51.5本章小结 52理论基础 62.1B/S模式 62.2IDEA开发环境 62.3MySQL数据库 62.4Java语言 72.5本章小结 73需求分析 83.1功能需求分......
  • vue获取屏幕的实时 宽度 / 高度
    mounted(){constthat=this;window.onresize=()=>{return(()=>{window.screenWidth=document.documentElement.clientWidth;//实时宽度window.screenHeight=document.documentElement.clientHeight;//实时高度......
  • vue3 常用的几种组件通讯方式
    vue3常用的几种组件通讯方式,大致如下Props/EmitPinia事件总线(mitt)Provide/Inject浏览器本地存储 1.Props/Emit注释:prop属性名称/方法名称的格式,采用 camelCase 与 kebab-case。 1.1props(1)上游组件设置 prop 值(通过v-bind或冒号) 或者 (2)下游......
  • 基于django+vue网上书店设计与实现【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,电子商务已成为全球经济的重要组成部分,深刻改变了人们的购物方式和消费习惯。在这个数字化时代,网上书店作为电子......
  • 基于django+vue网上人才招聘系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,网络已成为人们获取信息、交流互动的重要平台。在人力资源领域,传统的招聘方式逐渐显露出效率低下、成本高昂、信......
  • 基于django+vue网上求职招聘系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和普及,网络已成为人们获取信息、交流互动的主要平台之一。在就业市场日益激烈的背景下,传统的求职招聘方式已难以......