当前位置: 首页 > news >正文

Vue常见指令

Vue简介

Vue.js 是一款渐进式的 JavaScript 框架,用于构建用户界面。它的核心库专注于视图层,易于上手,同时也可以与其他库或已有项目进行整合。
Vue.js 的特点包括:

  • 响应式数据绑定:当数据变化时,视图会自动更新。
  • 组件化:将应用拆分成可复用的组件,便于管理和维护。
  • 虚拟DOM:通过虚拟DOM提高渲染性能。
  • 指令系统:使用指令来操作DOM元素,实现数据绑定和事件处理。

Vue实例

<div id="app"><h1>{{ message }}</h1>
</div>
<script type="module">import { createApp, ref } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'createApp({data() {return {message: 'Hello Vue!'};}}).mount('#app');
</script>

Vue常见指令

Vue指令是带有前缀v-的特殊属性,用于在模板中执行特定的操作。

  1. v-for:用于循环渲染列表。
  • 语法: <标签名 v-for="(item, index) in items" :key = "item.id">
  • 作用:根据数组渲染多个元素。需要将哪个标签重复展示多次就将哪个标签写在v-for中。
  • 示例:
<div id="app"><ul><li v-for="item in items">{{ item.name }} ({{ item.time }})</li></ul>
</div>
<script type="module">import { createApp, ref } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'createApp({setup() {const items = ref([{"name":'项目1', "time":"时间1"}, {"name":'项目2', "time":"时间2"}, {"name":'项目3', "time":"时间3"}]);return { items };}}).mount('#app');
</script>
  1. v-bind:为HTML标签动态绑定属性值,如hrefstyleidclasssrc等。
  • 语法:v-bind:属性名="表达式" 简化::属性名="表达式"
  • 作用:将表达式的值绑定到属性上。
  • 注意:
    • 插值表达式不能出现在标签内部
    • 只能绑定简单的属性值,不能绑定复杂的表达式
    • 绑定的属性值必须是字符串类型
    • 绑定的数据必须在data中定义
  • 示例:
<img v-bind:src="imageUrl" alt="图片">
  1. v-if:根据表达式的值显示或隐藏元素。
  • 语法:v-if="表达式"
  • 作用:表达式为true时显示元素,为false时隐藏元素。适用于不频繁切换的场景。
  • 示例:
<span v-if="isVisible">这是可见的内容
</span>
<span v-else-if="isVisible2">这是可见的内容2
</span>
<span v-else>这是不可见的内容
</span>
  1. v-show:根据表达式的值显示或隐藏元素,但元素仍然存在于DOM中。
  • 语法:v-show="表达式"
  • 作用:表达式为true时显示元素,为false时隐藏元素。
  • 区别于v-ifv-show不会移除元素,只是通过CSS的display属性来控制显示或隐藏。适用于频繁切换的场景。
  • 示例:
<span v-show="isVisible">这是可见的内容
</span>
<span v-show="isVisible2">这是可见的内容2
</span>
  1. v-model:用于双向数据绑定。
  • 语法:v-model="变量名"
  • 作用:将表单元素的值与数据模型绑定,实现数据的双向同步。
  • 注意:
    • 只能用于表单元素,如inputselecttextarea等。
    • 数据模型必须在data中定义。
  • 示例:
<input type="text" v-model="inputValue">
  1. v-on:用于绑定事件监听器。
  • 语法:v-on:事件名="方法名" 简化:@事件名="方法名"
  • 注意:
    • 方法必须在methods中定义。
    • 方法不能使用箭头函数,因为箭头函数没有this,会导致数据绑定失效。
    • methods函数中的this指向vue实例。可以通过this找到data中的数据。
  • 作用:在元素上绑定事件监听器,当事件触发时执行方法。
  • 示例:
<button v-on:click="f">点击我</button>
<button @click="f">点击我</button>
<script type="module">import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'createApp({methods: {f() {alert('按钮被点击');}}}).mount('#app');
http://www.dtcms.com/a/286319.html

相关文章:

  • Java大厂面试实录:从Spring Boot到AI微服务架构的深度解析
  • 深度学习零基础入门(3)-图像与神经网络
  • UE5 一些关于过场动画sequencer,轨道track的一些Python操作
  • 力扣347:前K个高频元素
  • 科技照亮童心|激光院与跳伞塔社区开展公益活动
  • Day24| 93.复原IP地址、78.子集、90.子集II
  • NIO简单介绍和运用
  • MySQL计数函数count原理分析
  • 深入理解Linux文件I/O:系统调用与标志位应用
  • 区块链加密技术全景解析
  • 高效VLP蛋白表达|病毒样颗粒生产|疫苗研发平台
  • 【无标题】标准模型粒子行为与11维拓扑量子色动力学模型严格对应的全面论述
  • 文献分享0719
  • MyBatis:配置文件完成增删改查_添加
  • 智慧后厨检测算法构建智能厨房防护网
  • 零基础入门:用按键精灵实现视频自动操作(附完整脚本)
  • C语言:数组
  • MySQL的关键日志
  • 洛谷 P1395 会议
  • Logback 配置的利器:深入理解<property>与<variable>
  • 教育行业网络升级最佳实践:SD-WAN、传统方案与混合方案对比分析
  • Android sdk 升级 34到35
  • SpringBoot中解决SpringApplication入口和其他Bean不在同属目录下的问题。
  • 暑期自学嵌入式——Day05补充(C语言阶段)
  • STM32+w5500+TcpClient学习笔记
  • 前端基础之《Vue(23)—跨域问题》
  • Effective Modern C++ 条款14:如果函数不抛出异常请使用noexcept
  • 如何将本地Git仓库推送到远程仓库的一个文件中并保留Commit记录
  • 对于编码电机-520直流减速电机
  • 硬核电子工程:从硅片到系统的全栈实战指南—— 融合电路理论、嵌入式开发与PCB设计的工程艺术