vue.js样式绑定

class

class和style是html元素的属性,用于设置元素的样式。我们可以 用v-bind来设置样式属性。Vue.js v-bind在处理class和style是,专门增强了它。表达式的结果练习除了字符串之外,还可以是对象或数组。

class属性绑定

我们可以为v-bind:class设置一个对象,从而动态的切换class:

示例1

例子中将 isActive 设置为 true 显示了一个绿色的 div 块,如果设置为 false 则不显示:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript" src="../js/vue.js"></script>
		<style>
			.active {
				width: 100px;
				height: 100px;
				background: green;
			}
		</style>
	</head>
	<body>
		<div id="app">
			<div v-bind:class="{ 'active': isActive }"></div>
		</div>
		<script>
			new Vue({
				el: '#app',
				data: {
					isActive: true
				}
			})
		</script>
	</body>
</html>

以上示例div class为:

<div class="active"></div>

示例2

text-danger 类背景颜色覆盖了 active 类的背景色:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
		<style>
			.active {
				width: 100px;
				height: 100px;
				background: green;
			}

			.text-danger {
				background: red;
			}
		</style>
	</head>
	<body>
		<div id="app">
			<div class="static" v-bind:class="{ 'active': isActive, 'text-danger': hasError }">
			</div>
		</div>

		<script>
			new Vue({
				el: '#app',
				data: {
					isActive: true,
					hasError: true
				}
			})
		</script>
	</body>
</html>

以上示例div class为:

<div class="static active text-danger"></div>

我们也可以直接绑定数据里的一个对象

示例3

text-danger 类背景颜色覆盖了 active 类的背景色:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
		<style>
			.active {
				width: 100px;
				height: 100px;
				background: green;
			}

			.text-danger {
				background: red;
			}
		</style>
	</head>
	<body>
		<div id="app">
			<div v-bind:class="classObject"></div>
		</div>

		<script>
			new Vue({
				el: '#app',
				data: {
					classObject: {
						active: true,
						'text-danger': true
					}
				}
			})
		</script>
	</body>
</html>

示例3和示例2的渲染结果是一样的。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是对你提出的前端Vue面试题的回答: 1. Vue.js是一款流行的JavaScript框架,用于构建用户界面。Vue.js的特点是简单易学、灵活性强、性能高、可组合性好等。 2. Vue.js的双向数据绑定是通过使用数据劫持和发布/订阅模式实现的。当数据发生变化时,Vue.js会自动更新视图,反之亦然。 3. Vue.js中的生命周期钩子函数有8个,分别是beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy和destroyed。它们分别在不同的时刻被调用,用于执行一些特定的操作。 4. Vue组件是Vue.js应用程序中的可重用代码块。通过定义一个Vue组件,可以将其作为一个独立的模块来使用。Vue组件通常包括模板、样式和逻辑等内容。 5. Vue.js中的指令是一种用于向DOM元素添加特殊行为的语法。常用的指令有v-if、v-show、v-for、v-bind和v-on等等。 6. Vue.js中的路由是用于管理Vue应用程序中页面之间导航的方式。可以通过Vue Router插件来实现路由功能。 7. Vue.js中的过滤器是一种用于格式化文本的功能。可以通过定义一个过滤器来将数据进行格式化并渲染到HTML中。 8. Vue.js中的计算属性是一种用于动态计算Vue组件的属性值的方式,与方法不同的是,计算属性具有缓存和依赖检测的特点。 9. 在Vue.js中,可以通过Vue.directive()方法来定义自定义指令。自定义指令通常用于扩展Vue.js的功能。 10. Vue.js的单文件组件是一种将模板、样式和逻辑封装在一个文件中的方式,以便于组件的管理和维护。可以通过Vue CLI工具来创建和使用单文件组件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值