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

【vue2基础教程】vue指令

文章目录

  • 前言
  • 一、内容渲染指令
    • 1.1 v-text
    • 1.2 v-html
    • 1.3 v-show
    • 1.4 v-if
    • 1.5 v-else 与 v-else-if
  • 二、事件绑定指令
  • 三、属性绑定指令
  • 总结


前言

Vue.js 是一款流行的 JavaScript 框架,广泛应用于构建交互性强、响应速度快的现代 Web 应用程序。Vue 指令是 Vue.js 中的一项重要特性,它们允许开发者将特定的行为应用到 HTML 元素上,从而使得 DOM 操作更加便捷和灵活。在本篇文章中,我们将介绍 Vue 指令的基础知识,帮助读者快速入门 Vue.js 开发。


一、内容渲染指令

内容渲染指令有两种:v-textv-html
内容渲染指令用来辅助开发者渲染 DOM 元素的文本内容

1.1 v-text

  • v-text(类似innerText)
    • 使用语法:<p v-text="uname">hello</p>,意思是将 uame 值渲染到 p 标签中
    • 类似 innerText,使用该语法,会覆盖 p 标签原有内容
<template><div class="hello"><p v-text="uname">Hello</p></div>
</template><script>
export default {name: 'HelloWorld',data() {return {count: 0,uname:"张三"};},
}

1.2 v-html

  • v-html(类似 innerHTML)
    • 使用语法:<p v-html="intro">hello</p>,意思是将 intro 值渲染到 p 标签中
    • 类似 innerHTML,使用该语法,会覆盖 p 标签原有内容
    • 类似 innerHTML,使用该语法,能够将HTML标签的样式呈现出来。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>v-html Example</title><!-- 引入 Vue.js --><script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body><div id="app"><!-- 使用 v-html 指令将 message 的值作为 HTML 渲染 --><div v-html="message"></div>
</div><script>
new Vue({el: '#app',data: {// 假设 message 中包含一些 HTML 标记message: '<h1>Hello, <span style="color: red;">Vue.js</span>!</h1>'}
})
</script></body>
</html>

1.3 v-show

v-show

  1. 作用: 控制元素显示隐藏
  2. 语法: v-show = “表达式” 表达式值为 true 显示, false 隐藏
  3. 原理: 切换 display:none 控制显示隐藏
  4. 场景:频繁切换显示隐藏的场景
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>v-show Example</title><!-- 引入 Vue.js --><script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body><div id="app"><!-- 使用 v-show 指令根据 isDisplayed 的值来显示或隐藏元素 --><p v-show="isDisplayed">This paragraph is shown using v-show.</p><p v-show="!isDisplayed">This paragraph is hidden using v-show.</p><!-- 使用按钮切换 isDisplayed 的值 --><button @click="toggleDisplay">Toggle Display</button>
</div><script>
new Vue({el: '#app',data: {// 控制显示和隐藏的变量isDisplayed: true},methods: {// 切换 isDisplayed 的值toggleDisplay: function() {this.isDisplayed = !this.isDisplayed;}}
})
</script></body>
</html>

1.4 v-if

v-if

  1. 作用: 控制元素显示隐藏(条件渲染)
  2. 语法: v-if= “表达式” 表达式值 true显示, false 隐藏
  3. 原理: 基于条件判断,是否创建 或 移除元素节点
  4. 场景: 要么显示,要么隐藏,不频繁切换的场景
<div v-if="flag" class="box">我是v-if控制的盒子</div>

1.5 v-else 与 v-else-if

v-elsev-else-if

  1. 作用:辅助v-if进行判断渲染
  2. 语法:v-else v-else-if=“表达式”
  3. 需要紧接着v-if使用

二、事件绑定指令

我们可以使用v-事件进行绑定事件
或者我们可以简写成@事件=xxx
我们既可以写成内联语句,也可以在下面这个图片加上method:{}
,里面写上我们的函数

我们可以进行参数的传递,可以像函数调用一个写小括号,如果没有参数则不需要写任何参数。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {border: 3px solid #000000;border-radius: 10px;padding: 20px;margin: 20px;width: 200px;}h3 {margin: 10px 0 20px 0;}p {margin: 20px;}</style>
</head>
<body><div id="app"><div class="box"><h3>小黑自动售货机</h3><button @click="buy(5)">可乐5元</button><button @click="buy(10)">咖啡10元</button><button @click="buy(8)">牛奶8元</button></div><p>银行卡余额:{{ money }}元</p></div><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><script>const app = new Vue({el: '#app',data: {money: 100},methods: {buy (price) {this.money -= price}}})</script>
</body>
</html>

三、属性绑定指令

  1. 作用:\动态设置html的标签属性 比如:src、url、title
  2. 语法:**v-bind:**属性名=“表达式”
  3. v-bind:\可以简写成 => ** : **

比如,有一个图片,它的 src 属性值,是一个图片地址。这个地址在数据 data 中存储。

则可以这样设置属性值:

  • <img v-bind:src="url" />
  • <img :src="url" /> (v-bind可以省略)

总结

本文介绍了 Vue.js 中的指令,它们是 Vue.js 框架中的重要特性之一。通过指令,我们可以直接操作 DOM,实现数据的双向绑定、条件渲染、循环渲染等功能,极大地提高了开发效率。在 Vue.js 中,指令以 v- 开头,后跟指令名称,如 v-model、v-if、v-for 等。每个指令都有特定的功能和用法,开发者可以根据需求灵活运用。通过学习和掌握 Vue 指令,可以更加高效地构建 Vue.js 应用程序,提升开发体验和用户体验。

在你开始学习和应用 Vue.js 中的指令时,建议先理解指令的基本概念和常用指令的用法,然后通过实践来加深理解。随着对 Vue.js 的熟练程度提升,你会发现指令的强大之处,并能够运用它们解决更复杂的业务需求。希望本文能够对你学习 Vue.js 提供帮助,祝愿你在 Vue.js 的学习和应用过程中取得成功!

相关文章:

  • 深入理解 Webpack 热更新原理:提升开发效率的关键
  • 新概念英语第二册(73)
  • T1 小美的数组询问(15分) - 美团编程题 题解
  • DHCP中继实验(华为)
  • Python图像处理:1.插值、频域变换与对比度增强
  • Android中的抽象类与接口的区别是什么?谈谈List, Set, Map的区别?
  • Linux系统——web服务拓展练习
  • Lesson 6 Convolutional Neural Network(CNN)
  • 【数据库】索引 视图 触发器 分页查询
  • 深入解析汽车MCU的软件架构
  • grafana table合并查询
  • 从零开始:神经网络(2)——MP模型
  • 编程笔记 html5cssjs 007 文章排版 颜真卿《述张长史笔法十二意》
  • lambda有先后顺序
  • el根据需求合并列
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 5、React组件事件详解
  • golang中接口赋值与方法集
  • JAVA 学习IO流
  • Linux中的硬链接与软链接
  • Netty源码解析1-Buffer
  • PHP CLI应用的调试原理
  • Phpstorm怎样批量删除空行?
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 安装python包到指定虚拟环境
  • 二维平面内的碰撞检测【一】
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 如何选择开源的机器学习框架?
  • 入门到放弃node系列之Hello Word篇
  • 数据可视化之 Sankey 桑基图的实现
  • 以太坊客户端Geth命令参数详解
  • 正则表达式小结
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • const的用法,特别是用在函数前面与后面的区别
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • #include
  • #数学建模# 线性规划问题的Matlab求解
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (二)c52学习之旅-简单了解单片机
  • (附源码)springboot教学评价 毕业设计 641310
  • (蓝桥杯每日一题)love
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)Sql Server 保留几位小数的两种做法
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • @Bean有哪些属性
  • @Builder用法
  • @Documented注解的作用