Vue的几种基础指令学习

指令:

Vue的指令是以v-开头的,作用于页面中的元素,所以需要将指令绑定与元素中,从而达到给绑定的元素添加行为的目的。

​ 语法:<元素标签 v-指令 = “表达式”>

1.v-bind

v-bind:需要动态决定标签的属性的时候 可以使用到v-bind
语法糖的写法: :,把v-bind替换为 :

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<div id="app">
<span :title="msg">
	提示信息
</span>
</div>
	<body>
		<script src="../vue.js"></script>
		<script>
			var app = new Vue({
			  el: '#app',
			  data: {
				  msg:'页面加载于' + new Date().toLocaleString()
			}
		})	
		</script>
		</body>
</html>

 鼠标悬停几秒钟查看此处动态绑定的提示信息!

你看到的 v-bind attribute 被称为指令。指令带有前缀 v-,以表示它们是 Vue 提供的特殊 attribute。可能你已经猜到了,它们会在渲染的 DOM 上应用特殊的响应式行为。在这里,该指令的意思是:“将这个元素节点的 title attribute 和 Vue 实例的 message property 保持一致”。

如果你再次打开浏览器的 JavaScript 控制台,输入 app2.message = '新消息',就会再一次看到这个绑定了 title attribute 的 HTML 已经进行了更新。

2.v-if

true的情况下文字会显示出来,false的情况下文字会消失。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<div id="app">
		<p v-if="seen">你现在看到我了</p>
    </div>
	<body>
		<script src="../vue.js"></script>
		<script>
		var app = new Vue({
			el:'#app',
			data:{
				seen:true
			}
		})
		</script>
		</body>
</html>

继续在控制台输入 app.seen = false,你会发现之前显示的消息消失了。

这个例子演示了我们不仅可以把数据绑定到 DOM 文本或 attribute,还可以绑定到 DOM 结构。此外,Vue 也提供一个强大的过渡效果系统,可以在 Vue 插入/更新/移除元素时自动应用过渡效果

 3.v-for

v-for 指令可以绑定数组的数据来渲染一个项目列表:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<div id="app">
	<ul>
	<li v-for="item of county">{{item}}</li>
   </ul>
    </div>

	<body>
		<script src="../vue.js"></script>
		<script>
		var app = new Vue({
			el:'#app',
			data:{
				county:['中国','美国','英国']
			}
		})
		</script>
		</body>
</html>

 在控制台里,输入 app.county.push({ text: '德国' }),你会发现列表最后添加了一个新项目。

4.v-on

为了让用户和你的应用进行交互,我们可以用 v-on 指令添加一个事件监听器,通过它调用在 Vue 实例中定义的方法:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>

	</head>
	<body>
        <div id="app">
        <p>{{ message }}</p>
        <button v-on:click="reverseMessage">反转消息</button>
        </div>
		<script src="../vue.js"></script>
		<script>
        var app5 = new Vue({
            el: '#app',
            data: {
                message: 'Hello Vue.js!'
            },
            methods: {
               reverseMessage: function () {
               this.message = this.message.split('').reverse().join('')
          }
        }
      })
		</script>
	</body>
</html>

 5.v-model

v-model 指令,它能轻松实现表单输入和应用状态之间的双向绑定。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
      <div id="app">
      <p>{{ message }}</p>
      <input v-model="message">
      </div>
		<script src="../vue.js"></script>
		<script>
			var app = new Vue({
			  el: '#app',
			  data: {
			    message: '双向绑定'
			  }
			})
		</script>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js 提供了很多方便的指令来循环数组,以下是几种常见的方式: 1. 使用`v-for`指令 `v-for`指令Vue.js中最常用的指令之一,它可以用来循环数组、对象或数字。对于数组的循环,可以这样写: ``` <div v-for="(item, index) in items" :key="index">{{ item }}</div> ``` 其中,`items`是要循环的数组,`item`是当前循环的元素,`index`是当前循环的索引。注意要为每个循环的元素设置一个唯一的`key`属性。 2. 使用`v-bind`指令 `v-bind`指令可以用来绑定DOM元素的属性,例如`class`、`style`等。对于数组的循环,可以这样写: ``` <div v-bind:class="{ active: item.isActive }" v-for="(item, index) in items" :key="index">{{ item }}</div> ``` 其中,`item.isActive`是一个布尔值,如果为`true`,则给当前循环的元素添加一个`active`类。 3. 使用`v-model`指令 `v-model`指令可以用来实现双向数据绑定,对于数组的循环,可以这样写: ``` <div v-for="(item, index) in items" :key="index"> <input type="text" v-model="items[index]"> </div> ``` 其中,`v-model`指令将输入框的值与数组中对应索引的元素进行双向绑定。 4. 使用`computed`属性 如果需要对数组进行一些计算,例如过滤、排序等,可以使用`computed`属性来处理。例如: ``` computed: { filteredItems: function() { return this.items.filter(function(item) { return item.isActive; }); } } ``` 其中,`filteredItems`是一个计算属性,它返回一个过滤后的数组。 以上是几种常见的循环数组的方式,根据不同的需求选择合适的方式可以使代码更加简洁、易读。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值