html数据绑定js库,Vue.js 数据绑定

Vue.js 数据绑定

Vue.js支持不同类型的数据绑定。在学习Vue.js中的数据绑定之前,让我们看一下什么是数据绑定以及如何使用它。

什么是数据绑定?

数据绑定是一种用于将提供者和使用者的数据源绑定在一起并在检索时进行同步的技术。在数据绑定过程中,每当更改数据时,数据便会自动通过绑定到数据的元素反映出来。

术语数据绑定也用于元素中数据的外部表示发生变化的情况,并自动更新基础数据以反映此更改。

Vue.js class和样式绑定

Vue.js数据绑定,我们必须操纵元素的类列表和内联样式。我们已经知道类列表和内联样式是属性,因此我们可以使用

v-bind来处理它们。当我们将v-bind与类和样式一起使用时,Vue.js提供了特殊的增强功能。表达式还可以与字符串一起求值到对象或数组。

在这里,我们将学习如何在Vue.js绑定的帮助下操作或为HTML属性分配值,更改样式以及分配类。指令v-bind。让我们看一个简单的示例,以了解为什么和何时使用v-bind指令进行数据绑定。

Index.html文件:

Vue.js Data Binding

{{title}}

Click Here

Click Here

Click Here

Index.js文件:

var vm = new Vue({

el: '#databinding',

data: {

title : "Data Binding Simple Example",

hreflink : "https://www.lidihuo.com"

}

})

让我们使用简单的

CSS文件使输出更具吸引力。

Index.css文件:

html, body {

margin: 5px;

padding: 0;

}

程序执行后,您将看到以下输出:

输出:

63664cf0da480abe232e529957baa97d.png

示例说明

在上面的示例中,您可以看到标题变量和三个锚链接如下:

{{title}}

Click Here

Click Here

Click Here

我们还为数据对象中的href分配了一个值hreflink:

" https://www.lidihuo.com"。

如果您单击第一个"单击此处"链接,则该href会显示为hreflink,因此不会重定向到目标网址。

如果您单击第二个"单击此处"链接,则href会显示为{{hreflink}},因此也不会重定向到目标URL。

只有第三个会重定向正确的目标URL,因为我们必须将其与v-bind指令绑定。请参阅以下结果。

因此,要为HTML属性分配值,将其与v-bind指令绑定,如下所示:

Click Here

您还可以使用简写形式包括v-bind指令,如下所示:

Click Here

注意:如果您检查结果的元素,您将看到anchor标签未显示v-bind属性。它显示纯HTML。当我们检查DOM时,可以看到Vue.js属性。

Vue.js HTML类绑定

在Vue.js中,我们可以绑定

HTML类,方法是使用v-bind: class指令。让我们看一个示例来演示Vue.js中HTML类的绑定。

Index.html文件:

Vue.js Data Binding

.active {

background: skyblue;

}

{{title}}

Index.js文件:

var vm = new Vue({

el: '#classbinding',

data: {

title : "HTML class binding example",

isactive : true

}

})

程序执行后,您将看到以下输出:

输出:

4b3f9181ef486cdc0b0b36977192dce5.png

在上面的示例中,我们使用

v-bind创建了一个div: class ="{active: isactive}"。在这里,

不活动是基于正确或错误值的变量。这个isactive变量用于将class active应用于div。当我们将isactive变量分配为true时,它将显示我们在.active样式中定义的结果中指定的样式,背景颜色为天蓝色。 >为假,它将不会在结果中应用指定的样式。

Index.js文件:

var vm = new Vue({

el: '#classbinding',

data: {

title : "HTML class binding example",

isactive : false

}

})

程序执行后,您将看到以下输出:

输出:

23f57f275e6955fbf316ef7e030db226.png

将多个类分配给HTML标签

您还可以将多个类分配给HTML标签v-bind属性的使用。请参见以下示例:

Index.html文件:

Vue.js Data Binding

.info {

color: #00529B;

background-color: #BDE5F8;

}

div {

margin: 10px 0;

padding: 12px;

}

.active {

color: #4F8A10;

background-color: #DFF2BF;

}

.displayError{

color: #D8000C;

background-color: #FFBABA;

}

{{title}}

Index.js文件:

var vm = new Vue({

el: '#classbinding',

data: {

title : "HTML multiple class binding example",

isActive : false,

hasError : false

}

})

程序执行后,您将看到以下输出:

输出:

0bc07f04e75644f0ef7771d145e91c5e.png

在上面的示例中,您可以看到仅应用了普通类。目前其他两个变量均为假。现在,让我们看看将

isActive变量设置为

true时会发生什么:

var vm = new Vue({

el: '#classbinding',

data: {

title : "HTML multiple class binding example",

isActive : true,

hasError : false

}

})

输出:

58e2c6b54cde42125f17abc7b788bf0a.png

在上面的示例中,我们为div分配了两个类,即info和active。现在,让我们使

hasError变量

true和

isActive false,然后查看结果。

var vm = new Vue({

el: '#classbinding',

data: {

title : "HTML multiple class binding example",

isActive : false,

hasError : true

}

})

输出:

1905c839a8076e1a21ed4f08786c8b5e.png

现在,在上面的示例中,info和displayError类应用于div。这样便可以根据条件应用多个类。

使用数组分配多个类

我们还可以将类作为数组传递。请参见下面的示例以很好地理解这一点:

语法:

示例:

Index.html文件:

Vue.js Data Binding

.info {

color: #00529B;

background-color: #BDE5F8;

}

div {

margin: 10px 0;

padding: 12px;

font-size : 25px;

}

.active {

color: #4F8A10;

background-color: #DFF2BF;

}

.displayError{

color: #D8000C;

background-color: #FFBABA;

}

{{title}}

Index.js文件:

var vm = new Vue({

el: '#classbinding',

data: {

title : "Multiple classes with array example",

infoclass : 'info',

errorclass : 'displayError'

}

})

程序执行后,您将看到以下输出:

输出:

45d70729ab2ab665eeb7ad1dcf5e1f68.png

在上面的示例中,两个类均应用于div。

Vue.js内联样式绑定

对象语法

v-bind: style的对象语法类似于

CSS,但这是

JavaScript目的。您可以使用camelCase或kebab-case(在kebab-case中使用引号)作为CSS属性名称:

HTML:

CSS:

data: {

activeColor: 'red',

fontSize: 30

}

您还可以直接绑定样式对象以使模板更整洁。

HTML:

CSS:

data: {

styleObject: {

color: 'red',

fontSize: '30px'

}

}

让我们举个例子来清楚地理解这个概念。

Index.html文件:

Vue.js Data Binding
{{title}}

Index.js文件:

var vm = new Vue({

el: '#databinding',

data: {

title : "Inline style Binding Example",

activeColor: 'red',

fontSize :'30'

}

})

程序执行后,您将看到以下输出:

输出:

2e997fe6808bd58efec2c85ecf450154.png

在上面的示例中,您可以看到div应用了样式,并且从数据对象中获取了数据。

您可以通过将所有值分配给变量,然后将变量分配给div来获取相同的结果。

示例:

Index.html文件:

Vue.js Data Binding
{{title}}

Index.js文件:

var vm = new Vue({

el: '#databinding',

data: {

title : "Inline style Binding Example-2",

styleobj : {

color: 'red',

fontSize :'30px'

}

}

})

输出:

b2597b647142a986c08d39459764901c.png

在上面的示例中,您可以看到颜色和fontSize被分配给名为styleobj的对象,而相同的对象被分配给div。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值