【vue核心技术实战精讲】1.3 - 1.5 VUE 指令 (上)

news2024/11/15 23:20:27

文章目录

    • 前言
  • 本节内容
    • 1、`v-text` 和 `v-html`
        • 代码
        • 效果
    • 2、`v-if ` 和 `v-show`
        • 代码
        • 效果
    • 3、`v-bind`
      • 3.1、用法:`v-bind:` + `属性` ,简写 `:`
      • 3.2、动态 attribute 名
        • 效果
      • 3.3、内联字符串拼接
        • 效果
      • 3.4、绑定 class
        • 效果
      • 3.5、style 绑定
      • 3.6、绑定一个全是 attribute 的对象
        • 效果
      • 其它用法
  • 4、附录
    • html 标签属性大全

前言

上节,我们学习了

  • Vue的起步 和 插值表达式

本节内容

  • Vue指令之v-textv-html
  • Vue指令之v-if v-show
  • Vue指令之v-bind绑定
  • Vue指令之v-on事件处理

1、v-textv-html

  • {{}}v-text的作用是一样的 都是插入值,直接渲染innerText
  • v-html既能插入值 又能插入标签 ≈ innerHTML
代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>指令之v-text和v-html</title>
</head>
<body>
    <div id='app'>
        <h1>{{ msg }}</h1>
        <h2 v-text='msg'></h2>
        <div v-html='htmlMsg'></div>
    </div>
    <script src="./vue.js"></script>
    <script>
        // {{}}和v-text的作用是一样的 都是插入值 直接渲染 ≈ innerText
        // v-html既能插入值 又能插入标签 ≈ innerHTML
        new Vue({
            el:'#app',
            data:{
                msg:"插入标签",
                htmlMsg:'<h3>金榜探云手</h3>'
            }
        })
    </script>
</body>
</html>
效果

2、v-if v-show

代码
<body>
    <div id='app'>
        <div v-if = "isShow">
            显示
        </div>
        <div v-else>
            隐藏
        </div>
        <h3 v-show = 'show'>金榜探云手</h3>
    </div>
    <script src="./vue.js"></script>
    <script>
        // v-if v-else-if  v-else      v-show
        new Vue({
            el: '#app',
            data: {
               isShow:Math.random() > 0.5,
               show:false
            }
        })
    </script>
</body>
效果

3、v-bind

3.1、用法:v-bind: + 属性 ,简写 :

<!-- imageSrc 为`data`中属性-->
<img v-bind:src="imageSrc">
<img :src="imageSrc"> <!-- 缩写-->
<script>
    new Vue({
        el: '#app',
        data: {
            imageSrc: '../images/logo.png'
        }
    })
</script>

3.2、动态 attribute 名

<!-- 如:key 为 href ,value = www.baidu.com ,name = 百度一下  -->
<button v-bind:[key]="value">{{name}}</button>
<button :[key]="value">{{name}}</button> <!-- 缩写-->
<script>
    new Vue({
        el: '#app',
        data: {
            key: 'href',
            value: 'https://www.baidu.com',
            name: '百度一下'
        }
    })
</script>
效果

3.3、内联字符串拼接

<!-- 如:key 为 href ,value = www.baidu.com ,name = 百度一下  -->
<img :src="'../images/' + fileName">
<script>
    new Vue({
        el: '#app',
        data: {
            fileName: 'logo.png'
        }
    })
</script>
效果

3.4、绑定 class

  • 语法一: :class=“{style中类名:布尔值}”。如::class=“{ red: isRed }”
  • 语法二: :class=“[data属性指向类名:布尔值]”。如::class=“[classA, classB]”
  • 语法三: {} 和 [] 混合 。如::class=“[classA, { classBd: isB, classCd: isC }]”
<style>
   .red {
    	color: red;
   }
   .class-A {
    	color: red;
   }
   .class-B {
    	font-size: 30px;
   }
   .classBd {
    	font-size: 60px;
   }
   .classCd {
    	color: green;
   }
</style>

<!-- 语法一: `:class`="{`style中类名`:`布尔值`}" --> 
<div :class="{ red: isRed }"></div>

<!-- 语法二: `:class`="[`data属性指向类名`:`布尔值`]" -->
<div :class="[classA, classB]"></div>

<script>
    new Vue({
        el: '#app',
        data: {
            isRed: true,
            classA: 'class-A',
            classB: 'class-B',
            classC: 'class-C',
            isB: true,
            isC: true
        }
    })
</script>

<div :class="[classA, { classB: isB, classC: isC }]"></div>
效果

3.5、style 绑定

  • 类同 绑定 class
<div :style="{ fontSize: size + 'px' }"></div>
<div :style="[styleObjectA, styleObjectB]"></div>

3.6、绑定一个全是 attribute 的对象

  • 语法: v-bind="{ id: someProp, 'other-attr': otherProp }"
  • 作用:定义动态id和attribute(属性)
  • 说明
  • id 为属性
  • ‘other-attr’ 为自定义属性,需要用引号
  • 这里不可以用缩写 :
    <div id="app">
        <!-- 这里表示被vue控制的区域 -->
        <div v-bind="{ id: someProp, 'other-attr': otherProp }"></div>
    </div>

    <script>
        const vm = new Vue({
            el: '#app', // 控制id为app的元素
            data: {
                // 存放所需要的数据
                someProp: 'demo',
                otherProp: 'aaa'
            },
            methods: {
                // 存放所需要调用的方法
            },
            components: {
                // 注册的组件
            },
        })
    </script>
效果

其它用法

<!-- 绑定一个全是 attribute 的对象 -->
<div v-bind="{ id: someProp, 'other-attr': otherProp }"></div>

<!-- 通过 prop 修饰符绑定 DOM attribute -->
<div v-bind:text-content.prop="text"></div>

<!-- prop 绑定。“prop”必须在 my-component 中声明。-->
<my-component :prop="someThing"></my-component>

<!-- 通过 $props 将父组件的 props 一起传给子组件 -->
<child-component v-bind="$props"></child-component>

<!-- XLink -->
<svg><a :xlink:special="foo"></a></svg>

.camel 修饰符允许在使用 DOM 模板时将 v-bind property 名称驼峰化,例如 SVG 的 viewBox property:

<svg :view-box.camel="viewBox"></svg>

4、附录

html 标签属性大全

HTML 标签属性非常多,但是最常用的属性包括:

  • id: 定义元素的唯一标识符

  • class: 定义元素的一个或多个类名

  • style: 定义元素的行内样式

  • href: 在链接标签 中定义目标 URL

  • src: 在资源引用标签 <img>, <script>, <iframe> 中定义资源的路径

  • alt: 在图片标签 <img> 中定义图片的替代文本。

  • title: 定义元素的额外信息,通常用作工具提示文本。

  • width & height: 在图片或视频标签中定义尺寸

  • type: 在 <script><style> 标签中定义资源的 MIME 类型

  • placeholder: 在可输入标签中定义预期输入的提示文本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1544275.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学点儿Java_Day10_集合框架(List、Set、HashMap)

1 简介 ArrayList: 有序(放进去顺序和拿出来顺序一致)&#xff0c;可重复 HashSet: 无序(放进去顺序和拿出来顺序不一定一致)&#xff0c;不可重复 Testpublic void test1() {String[] array new String[3];//List: 有序 可重复//有序: 放入顺序 与 拿出顺序一致&#xff0c;…

精酿啤酒:酿造工艺的传承与改进

啤酒酿造工艺是一种历史悠久且不断发展的技艺&#xff0c;它随着时代的变化和技术的进步不断得到改进和创新。Fendi Club啤酒作为一家精酿啤酒品牌&#xff0c;在传承经典酿造工艺的同时&#xff0c;也不断探索和改进&#xff0c;以满足现代消费者的需求。 Fendi Club啤酒传承了…

蓝桥杯物联网遇见的重大BUG及其产生原因和解决方法

BUG列表 1、ADC的RP2显示一直为0&#xff1a;2、LORX_Tx发送数据乱码&#xff1a;3、strcmp比较char a[2] {1, 2}与“12”字符串是否相等板子会死机&#xff1a;4、LORA_Tx和LORA_Rx放一起会接收不到数据&#xff1a;5、RTC获取到静止时间&#xff1a;6、ADC获取RP1和RP2模拟量…

【k8s网络】梳理cni发展脉络

参考 《深入剖析 Kubernetes&#xff08;张磊&#xff09;》 补充 详解 Calico 三种模式&#xff08;与 Fannel 网络对比学习&#xff09;_calico vxlan-CSDN博客 容器网络 容器的网络栈 每个容器有自己的 net namespace net namespace 可以称之为网络栈所谓“网络栈”&…

睿考网:不是会计专业能考中级会计师吗?

不是会计专业也是可以考中级会计师的&#xff0c;中级会计师报名条件中并没有对专业做明确的限制&#xff0c;不同的学历对工作年限的要求不一样&#xff0c;如果考生满足报考条件就可以参加。 1.具备大学专科学历&#xff0c;从事会计工作满5年。 2.具备大学本科学历或学士学…

【Linux】进程的基本概念(进程控制块,ps命令,top命令查看进程)

目录 01.进程的基本概念 程序与进程 进程的属性 02.进程控制块&#xff08;PCB&#xff09; task_struct的内容分类 组织进程 03.查看进程 ps命令 top指令 在计算机科学领域&#xff0c;进程是一项关键概念&#xff0c;它是程序执行的一个实例&#xff0c;是操作系统的…

【Linux】线程预备知识{远程拷贝/重入函数与volatile关键字/认识SIGCHILD信号/普通信号/实时信号}

文章目录 0.远程拷贝1.重入函数与volatile关键字2.认识SIGCHILD信号3.普通信号/实时信号 0.远程拷贝 打包资源&#xff1a;tar czf code.tgz *远程传输&#xff1a;scp code.tgz usr服务器ip:/home/usr/路径解压&#xff1a;tar xzf code.tgz 1.重入函数与volatile关键字 先看…

【智能算法】秃鹰搜索算法(BES)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2020年&#xff0c; Alsattar等人受到秃鹰猎食自然行为启发&#xff0c;提出了秃鹰搜索算法&#xff08;Bald Eagle Search&#xff0c;BES&#xff09;。 2.算法原理 2.1算法思想 BES主要分为三…

龙智亮相2024国际集成电路展览会暨研讨会(IIC Shanghai),分享芯片研发及管理解决方案与技术实践

2024年3月28-29日&#xff08;周四-周五&#xff09;&#xff0c;上海张江科学会堂&#xff0c;2024国际集成电路展览会暨研讨会&#xff08;IIC Shanghai 2024&#xff09;即将盛大开幕。龙智携芯片研发及管理解决方案、最佳实践与案例&#xff0c;以及惊喜大奖在#1A14展位等着…

第十九章 linux部署scrapyd

文章目录 1. linux部署python环境1. 部署python源文件环境2. 下载python3. 解压安装包4. 安装5. 配置环境变量6. 检查是否安装成功7. 准备python使用的包8. 安装scrapyd9. 配置scrapyd10. 开放6800端口 2. 部署gerapy1. 本机下载包2. 初始化3. 进入gerapy同步数据库4. 创建用户…

堂哥让我给他做个真人动漫头像

背景 堂哥最喜欢的动漫是死神。他给了我一张死神主角一户的头像&#xff0c;以及自己的头像&#xff0c;希望我产出一张真人动漫头像。 一户的头像&#xff1a; 堂哥自拍照&#xff1a; 最近&#xff0c;有大佬部署了个stable diffusion&#xff0c;正好拿来一试身手。 stab…

优质视频素材库排行榜前十名有哪些?

在视频创作的世界中&#xff0c;每一帧画面、每一个音符都承载着无限的可能。为了帮助你更好地探索这些可能性&#xff0c;我继续为你精选了一系列素材网站。这些网站不仅能够提供高质量的视频、音效和图像素材&#xff0c;还能激发你的创意灵感&#xff0c;助你一臂之力。 1&…

利器 | 测试必会之 Linux 三剑客 ( grep / awk / sed )

Linux 给人的印象是黑乎乎的神秘窗口&#xff0c;文本操作和数据处理似乎没有 Windows 窗口界面直观方便。其实Linux 有自己的独特的法宝&#xff0c;称之为三剑客&#xff1a;grep&#xff0c;awk 和 sed。你可以用这三件法宝很方便的处理数据 &#xff1a;查找&#xff0c;分…

时间戳的转换-unix时间戳转换为utc时间(python实现)

import datetimetimestamp = 1711358882# 将时间戳转换为UTC时间 utc_time = datetime.datetime.utcfromtimestamp(timestamp)# 格式化并输出时间 formatted_time = utc_time.strftime(%Y-%m-%d %H:%M:%S) print(formatted_time)同样:UTC如何转换为unix时间戳 from datetime …

【考研数学】如何搭配好《660》+《880》组合?

如果1800题都做不明白&#xff0c;那就不要去做880题660题 做完1800题之后&#xff0c;还迷迷糊糊&#xff0c;解题水平极低&#xff0c;都是犯了一个错误&#xff1a; 那就是为了做题而做题&#xff01; 如果这个习惯不改掉&#xff0c;那不管是做660题还是880题都起不到任…

穿越地心:3D可视化技术带你领略地球内部奇观

在广袤无垠的宇宙中&#xff0c;地球是一颗充满生机与奥秘的蓝色星球。我们每天都生活在这颗星球上&#xff0c;感受着它的温暖与恩赐&#xff0c;却往往忽略了它深邃的内部世界。 想象一下&#xff0c;你能够穿越时空&#xff0c;深入地球的核心&#xff0c;亲眼目睹那些亿万年…

ssm005基于SSM框架的购物商城系统+jsp

购物商城系统的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管理就…

GL-15过流继电器 10A、5A 板前接线带附件 JOSEF约瑟

系列型号&#xff1a; GL-11过流继电器; GL-12过流继电器; GL-13过流继电器; GL-14过流继电器; GL-15过流继电器; GL-16过流继电器; GL-17过流继电器; 用途 GL-10系列过流继电器(以下简称继电器)具有反时限特性&#xff0c;应用于电机、变压器等主设备以及输配电系统的继电保…

SQLAlchemy操作数据库

数据库是一个网站的基础。 比如 MySQL 、 MongoDB 、 SQLite 、 PostgreSQL 等&#xff0c;这里我们以 MySQL为例进行讲解。 SQLAlchemy 是一个 ORM 框架 我们会以 MySQL SQLAlchemy 组合进行讲解。 在操作数据库操作之前&#xff0c;先确保你已经安装了以下两个插件&#…