vue动态绑定属性--基本用法及动态绑定class
动态绑定属性v-bind:,语法糖形式:省略v-bind,仅写一个冒号。
一、动态绑定基本属性
1 <body>
2 <!-- v-bind 动态绑定属性-基本用法 -->
3 <img v-bind:src="imgUrl" alt="">
4 <script src="../js/vue.js"></script>
5 <script>
6 setTimeout(function() {
7 const vm = new Vue({
8 el: '#app',
9 data: {
10 imgUrl: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F4k%2Fs%2F02%2F2109242332225H9-0-lp.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1650099133&t=7737c14262a80534f32b81b3210ae247',
11 },
12 });
13 },2000);
14 </script>
15 </body>
二、动态绑定class
(1)基本用法:
1 <head>
2 <style>
3 .active{
4 color: red;
5 }
6 </style>
7 </head>
8
9 <body>
10 <div id="app">
11
12 <!-- v-bind动态绑定class--基本用法 -->
13 <div class="active">{{msg}}</div>
14 <div :class="on">{{msg}}</div>
15
16 </div>
17 <script src="../js/vue.js"></script>
18 <script>
19 setTimeout(function() {
20 const vm = new Vue({
21 el: '#app',
22 data: {
23 msg: 'hello',
24 on: 'active',
25 }
26 });
27 },2000);
28 </script>
29 </body>
(2)对象语法:
a.语法格式:v-bind:class="{类名1:布尔值,类名2:布尔值}"
1 <head>
2 <style>
3 .active{
4 color: red;
5 }
6 </style>
7 </head>
8
9 <body>
10 <div id="app">
11
12 <!-- v-bind动态绑定class--对象语法(使用较多) -->
13 <div :class="{active:isActive,line:isLine}">{{msg}}</div>
14
15 </div>
16 <script src="../js/vue.js"></script>
17 <script>
18 setTimeout(function() {
19 const vm = new Vue({
20 el: '#app',
21 data: {
22 msg: 'hello',
23 isActive: false,
24 isLine: true,
25 }
26 });
27 },2000);
28 </script>
29 </body>
30
b.如果绑定的对象太长,可以放在方法或者是计算属性中,将其返回,调用方法时必须加上括号
1 <head>
2 <style>
3 .active{
4 color: red;
5 }
6 </style>
7 </head>
8
9 <body>
10 <div id="app">
11
12 <div :class="getClassesObj()">{{msg}}</div>
13
14 </div>
15 <script src="../js/vue.js"></script>
16 <script>
17 setTimeout(function() {
18 const vm = new Vue({
19 el: '#app',
20 data: {
21 isActive: false,
22 isLine: true
23 },
24 methods: {
25 getClassesObj(){
26 return {active: this.isActive, line:this.isLine};
27 }
28 }
29 });
30 },2000);
31 </script>
32 </body>
(3)数组语法
1 <head>
2 <style>
3 .active{
4 color: red;
5 }
6 </style>
7 </head>
8
9 <body>
10 <div id="app">
11
12 <!-- v-bind动态绑定class--数组语法(少) -->
13 <h1 :class="['active', 'line']"></h1>
14 <h1 :class="[active, line]">v-bind动态绑定class--数组语法(少)</h1>
15 <h1 :class="getClassesArr()">v-bind动态绑定class--数组语法(少)-方法</h1>
16
17 </div>
18 <script src="../js/vue.js"></script>
19 <script>
20 setTimeout(function() {
21 const vm = new Vue({
22 el: '#app',
23 data: {
24 msg: 'hello',
25 active: 'aaa',
26 line: 'bbb',
27 },
28 methods: {
29 getClassesArr(){
30 return [this.active, this.line];
31 }
32 },
33 });
34 },2000);
35 </script>
36 </body>
37
38 </html>
vue动态绑定属性--基本用法及动态绑定class的更多相关文章
- Vue计算属性的用法
计算属性是个很好玩的东西,在这里面可以对数据模型进行操作,·也可以使用getter,setter方法.使用的话也是非常的简洁明了 这里写个例子 <!DOCTYPE html> <ht ...
- 2. Vue语法--插值操作&动态绑定属性 详解
目录 1. 设置vue模板 2. vue语法--插值操作 3. 动态绑定属性--v-bind 一. 设置vue模板 我们经常新建一个vue项目的时候, 会写如下的一段代码 <!DOCTYPE h ...
- vue.js中的表单radio,select,textarea的v-model属性的用法
只要是表单元素,其值已经不会再用value来定义了,但是placeholder还是可以用来设置默认值. section1--input:type="text" type=" ...
- vue计算属性详解——小白速会
一.什么是计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="example"> ...
- vue - 计算属性、表单输入绑定
计算属性 computed:{} <!DOCTYPE html> <html> <head> <title></title> </he ...
- Vue插件编写、用法详解(附demo)
Vue插件编写.用法详解(附demo) 1.概述 简单来说,插件就是指对Vue的功能的增强或补充. 比如说,让你在每个单页面的组件里,都可以调用某个方法,或者共享使用某个变量,或者在某个方法之前执行一 ...
- vue计算属性详解
一.什么是计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="example"> ...
- Vue中基本指令用法
指令在Vue中是个很重要的功能,在Vue项目中是必不可少的.根据官网的介绍,指令 (Directives) 是带有 v- 前缀的特殊属性.指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地 ...
- Vue的属性、事件、插槽
属性 自定义属性props ->组件的propos中声明的属性 原生属性attrs ->没有声明属性,默认自动挂载在组件的根元素上,inheritAttrs可以关闭自动挂载 特殊属性cla ...
随机推荐
- eclipse新建maven项目:'Building' has encountered a problem. Errors occurred during the build.
二.eclipse 新建maven 项目报错(因为没有配置maven环境) 1.问题: ① 出现的问题1: Could not calculate build plan:Plugin org.apac ...
- 说说UI自动化中的PO模式
PO模式,全称PageObject模式,即页面对象模式.将页面定位与业务操作分离. po模式有以下几个优点: 1.易读性好 2.扩展性高 3.复用性强 4.维护性好 5.代码冗余率低 了解了po模式及 ...
- java面向对象思想之封装
一.什么是封装 菜鸟教程对封装的解释是"在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装.隐藏起来的方法.".简单来说就 ...
- 【网鼎杯】jocker--部分代码加壳逆向处理
Main函数,用户输入flag,长度为24位 Wrong函数进行了简单的异或操作 Omg函数进行异或操作,根据提示来看应该是假check Encrypt无法生成伪代码 发现有加壳以及自修改,下断点动调 ...
- SpringBean的生命周期 以及一些问题总结
SpringBean的生命周期 一.传统 Bean 的生命周期 new实例化: 可使用了 无引用时,GC回收. 二.Servlet 的生命周期 实例化Servlet对象: init初始化对象: 相应客 ...
- Redis 如何设置密码及验证密码?
设置密码:config set requirepass 123456 授权密码:auth 123456
- 在多线程环境下,SimpleDateFormat 是线程安全的吗?
不是,非常不幸,DateFormat 的所有实现,包括 SimpleDateFormat 都不是 线程安全的,因此你不应该在多线程序中使用,除非是在对外线程安全的环境中 使用,如 将 SimpleDa ...
- django-debug-toolbar 开发利器的使用教程
django-debug-toolbar介绍 django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息. 下载安装 ...
- 集合流之“将List<Integer>转为String并用逗号分割”
1.使用[流+Collectors]转换 import java.util.ArrayList; import java.util.List; import java.util.stream.Coll ...
- simulink中的两种求导模块
最终图像都是下图形式