前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >4. Vue v-bind绑定元素属性的基本使用

4. Vue v-bind绑定元素属性的基本使用

作者头像
Devops海洋的渔夫
发布于 2022-01-17 01:20:21
发布于 2022-01-17 01:20:21
1.8K00
代码可运行
举报
文章被收录于专栏:Devops专栏Devops专栏
运行总次数:0
代码可运行

前言

上一章节讲述了使用 「插值表达式」「v-text」「v-html」 的数据渲染功能。

那么对于 样式类classhtml属性 的值设置,可以使用什么来控制呢?

可以使用本章节的 「v-bind」 来控制。下面来看看如何使用!

基本使用方式

v-bind的使用说明

动态地绑定一个或多个特性,或一个组件 prop 到表达式(这部分主要是用来提供父子组件的值传递的,放到后面的章节来介绍)。

v-bind的三种用法

  1. 直接使用指令v-bind
  2. 使用简化指令:
  3. 在绑定的时候,v-bind的绑定内容是js表达式,所以可以拼接绑定内容::title="btnTitle + ', 这是追加的内容'"

下面来逐个示例一下:

示例一:直接使用执行 v-bind

下面使用v-bind方法来绑定一个input按钮的title属性,自定义title内容,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 将来 new 的Vue实例,会控制这个 元素中的所有内容 -->
    <div id="app">
        
        <!-- 使用v-bind绑定按钮的title内容 -->
        <input type="button" value="按钮" v-bind:title="mytitle">

    </div>

    <!--  1.导入vue.js库  -->
    <script src="lib/vue.js"></script>

    <script>
        // 2. 创建一个Vue的实例
        var vm = new Vue({
            el: '#app',
            data: {
                mytitle: 'This is mytitle!'
            }
        })
    </script>

</body>
</html>

浏览器显示如下:

可以看到使用v-bind可以绑定title属性显示内容。

示例二:使用简化指令:

浏览器显示如下:

示例三:在绑定的时候,v-bind的绑定内容是js表达式,所以可以拼接绑定内容::title="btnTitle + ', 这是追加的内容'"

浏览器显示如下:

好了,有了这上面三个示例的理解,下面来看看更加多的使用方式。

v-bind属性绑定为元素,设置class类样式

上面只是示例「v-bind」绑定一个属性的使用,那么下面来看看如何动态绑定「class样式类」

使用v-bind绑定class样式的几种方式

  1. 数组
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h1 :class="['red', 'thin']">通过v-bind属性绑定为元素</h1>
  1. 数组中使用三元表达式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h1 :class="['red', 'thin', isactive?'active':'']">通过v-bind属性绑定为元素</h1>
  1. 数组中嵌套对象
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h1 :class="['red', 'thin', {'active': isactive}]">通过v-bind属性绑定为元素</h1>
  1. 直接使用对象
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h1 :class="{red:true, italic:true, active:true, thin:true}">通过v-bind属性绑定为元素</h1>

上面罗列了四种v-bind绑定元素class样式的方式,下面逐个示例。

首先编写样式,使用class直接设置样式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .red {
            color: red;
        }

        .thin {
            font-weight: 200;
        }

        .italic {
            font-style: italic;
        }

        .active {
            letter-spacing: 0.5em;
        }
    </style>
</head>
<body>

    <div id="app">

        <h1 class="red thin italic active">通过v-bind属性绑定为元素</h1>

    </div>

    <!--  1.导入vue.js库  -->
    <script src="lib/vue.js"></script>

    <script>
        // 2. 创建一个Vue的实例
        var vm = new Vue({
            el: '#app',
            data: {},
            methods:{}
        })
    </script>

</body>
</html>

浏览器显示如下:

数组 的方式来设置class样式

因为v-bind的绑定的内容是js表达式,所以传递的参数是一个「字符串数组」[ 'red', 'thin', 'italic', 'active' ]),浏览器显示效果如下:

数组中使用三元表达式设置class样式

浏览器显示如下:

但是其实「三元表达式」增加了代码的可读性难度,下面可以使用对象字典的方式来设置如下。

数组中嵌套对象

浏览器显示如下:

直接使用对象

浏览器显示如下:

这样直接在class上写对象的方式的确可以设置样式了,还可以将其作为一个对象写到data中,如下:

浏览器显示如下:

通过v-bind属性绑定为元素绑定style行内样式

「v-bind」不单单可以绑定class样式类,还可以绑定「style」行内样式。

使用内联样式

  1. 直接在元素上通过 :style 的形式,书写样式对象
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h1 :style="{color: 'red', 'font-size': '40px'}">Vue 中通过v-bind属性绑定为元素</h1>
  1. 将样式对象,定义到 data 中,并直接引用到 :style
  • 在data上定义样式:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data: {
        h1StyleObj: { color: 'red', 'font-size': '40px', 'font-weight': '200' }
}
  • 在元素中,通过属性绑定的形式,将样式对象应用到元素中:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h1 :style="h1StyleObj">Vue 中通过v-bind属性绑定为元素</h1>
  1. :style 中通过数组,引用多个 data 上的样式对象
  • 在data上定义样式:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data: {
        h1StyleObj: { color: 'red', 'font-size': '40px', 'font-weight': '200' },
        h1StyleObj2: { fontStyle: 'italic' }
}
  • 在元素中,通过属性绑定的形式,将样式对象应用到元素中:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h1 :style="[h1StyleObj, h1StyleObj2]">Vue 中通过v-bind属性绑定为元素</h1>

下面示例如下。

直接在元素上通过 :style 的形式,书写样式对象
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

</head>
<body>

    <div id="app">

        <h1 :style="{color: 'red', 'font-size': '40px'}">Vue 中通过v-bind属性绑定为元素</h1>

    </div>

    <!--  1.导入vue.js库  -->
    <script src="lib/vue.js"></script>

    <script>
        // 2. 创建一个Vue的实例
        var vm = new Vue({
            el: '#app',
            data: {
            },
            methods:{}
        })
    </script>

</body>
</html>

浏览器显示如下:

将样式对象,定义到 data 中,并直接引用到 :style 中

浏览器显示如下:

在 :style 中通过数组,引用多个 data 上的样式对象

浏览器显示如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海洋的渔夫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
11. Vue 中通过v-bind属性绑定为元素,设置class类样式
因为v-bind的绑定的内容是js表达式,所以传递的参数是一个字符串数组([ 'red', 'thin', 'italic', 'active' ]),浏览器显示效果如下:
Devops海洋的渔夫
2020/03/19
1.4K0
12. Vue 中通过v-bind属性绑定为元素绑定style行内样式
使用内联样式 直接在元素上通过 :style 的形式,书写样式对象 <h1 :style="{color: 'red', 'font-size': '40px'}">Vue 中通过v-bind属性绑定为元素</h1> 将样式对象,定义到 data 中,并直接引用到 :style 中 在data上定义样式: data: { h1StyleObj: { color: 'red', 'font-size': '40px', 'font-weight': '200' } } 在元素中,通过属性绑定的
Devops海洋的渔夫
2020/03/19
7820
10天从入门到精通Vue(一)-vue基本概念和基础语法(v-text、v-bind、v-on、v-model等)
v-text会覆盖元素中原本的内容,但是 插值表达式 只会替换自己的这个占位符,不会把 整个元素的内容清空。v-html会解析文本中的html标签后展示。具体代码如下:
共饮一杯无
2022/11/28
1.5K0
10天从入门到精通Vue(一)-vue基本概念和基础语法(v-text、v-bind、v-on、v-model等)
vue基础(一)
注意: 1.v-bind 只能实现数据的单向绑定,从 M 自动绑定到 V, 无法实现数据的双向绑定 2.使用 v-model 指令,可以实现 表单元素和 Model 中数据的双向数据绑定(可以改变源代码) 3.v-model 只能运用在 表单元素中
不愿意做鱼的小鲸鱼
2022/08/24
5940
【Vue】(1)基础知识 | MVVM | 基础指令 | v-model | v-for | v-if | v-show | 实例
首先,你可以在这里下载本文使用到的vue.js文件,使用的是v2.6.10开发版本。
前端修罗场
2023/10/07
3120
【Vue】(1)基础知识 | MVVM | 基础指令 | v-model | v-for | v-if | v-show | 实例
从零开始学 Web 之 Vue.js(一)Vue.js概述,基本结构,指令,事件修饰符,样式
在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。现在就让我们一起进入 Web 前端学习的冒险之旅吧!
Daotin
2018/09/30
1.6K0
从零开始学 Web 之 Vue.js(一)Vue.js概述,基本结构,指令,事件修饰符,样式
二.Vue基础使用
本文最后更新于 868 天前,其中的信息可能已经有所发展或是发生改变。 基本语法 <p>{{value}}</p> <!-- MVVM中的V --> <div id="app"> <p>{{value}}</p> </div> <script> // MVVM中VM的调度者 var vm=new Vue({ el:"#app", // MVVM中的M data:{ value:"hello vue"
Yuyy
2022/06/28
2490
二.Vue基础使用
5. Vue v-bind绑定元素属性的基本使用
下面使用v-bind方法来绑定一个input按钮的title属性,自定义title内容,如下:
Devops海洋的渔夫
2020/02/25
9780
5. Vue  v-bind绑定元素属性的基本使用
Vue.js学习总结——1
双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML,你需要使用 v-html 指令:
说故事的五公子
2019/09/29
6500
Vue.js学习总结——1
Vue学习之样式处理
我们除了可以通过使用class来引用样式外,我们还可以通过style来直接指定样式,Vue也支持此操作,具体如下:
全栈程序员站长
2022/08/04
2890
Vue学习之样式处理
Vue教程05(样式处理)
  我们除了可以通过使用class来引用样式外,我们还可以通过style来直接指定样式,Vue也支持此操作,具体如下:
用户4919348
2019/07/10
5090
Vue教程05(样式处理)
Vue 01.基础
插值表达式会出现闪烁问题,即在网速慢时会出现{{ msg }},数据加载好后才会显示数据
LittlePanger
2020/04/14
1.6K0
vue学习笔记
当 Vue.js 用 v-for 正在更新已渲染过的元素列表时,它默认用 “就地复用” 策略。如果数据项的顺序被改变,Vue将不是移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。
用户6362579
2019/09/29
1.1K0
04_Vue之v-bind、v-on的使用
v-bind:是Vue中,提供的用于绑定属性的指令 注意:v-bind: 指令可以简写为 :要绑定的属性,如:v-bind:title=:title,v-bind 中,可以写合法的JS表达式 v-on: 事件绑定机制,也可以简写为 @要绑定的属性,如:v-on:click=@:click,在methods定义方法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" conte
兮动人
2021/06/11
5080
04_Vue之v-bind、v-on的使用
Vue的学习笔记(中篇)
Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。上篇文章我们讲述了基础,可以戳这里:Vue的学习笔记(上篇)。这篇文章我们继续捋一捋~
前端皮皮
2021/03/10
4690
从零开始学VUE之模板语法(绑定属性)
当然不止能绑定src也能绑定其他属性,属性前加冒号就可以,就像 :src :href
彼岸舞
2021/06/07
9280
从零开始学VUE之模板语法(绑定属性)
Vue2学习计划四:v-bind
我们上一节讲了插值,主要是针对DOM的文本节点操作。那么如果现在有个需求,我们需要点击按钮,更换图片,怎么办?或者我们需要更换一下元素的样式该怎么实现呢?
松鼠先生
2022/02/22
1.6K0
Vue2学习计划四:v-bind
v-bind: 给标签的属性赋值
我们可以在属性前面加v-bind: 代表后面的属性值是从我们的vue对象中取得 demo如下:
名字是乱打的
2021/12/22
4.5K0
v-bind: 给标签的属性赋值
v­bind以及class与style的绑定-vue笔记4
在数据绑定中,最常见的两个需求就是元素的样式名称 class 和内联样式 style 的动 态绑定
bamboo
2019/01/29
2K0
Vue模板语法
基本上就是将数据以字符串的方式拼接到HTML标 签中,前端代码风格大体上如图所示。
清出于兰
2022/01/05
2K0
Vue模板语法
相关推荐
11. Vue 中通过v-bind属性绑定为元素,设置class类样式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验