91名师指路-头部
91名师指路

跟着波波老师学 vue(二)

由于某些原因,现在不支持支付宝支付,如需要购买源码请加博主微信进行购买,微信号:13248254750

第二章:常用标签用法。

1 v-model

2 v-html  显示标签

3 v-text   显示纯文本

4 强制数据绑定

5 绑定监听事件

6 计算属性 computed


(1) v-model 

实现效果:在文本框输入任何数字,下面的文字跟着改变。

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>双向绑定数据</title>
</head>
<body>

<div id="ipt">
<input type="text" v-model="msg">
<p>{{msg}}</p>
</div>

</body>
</html>

<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
var vm=new Vue({
el:"#ipt",
data:{
msg:"123"
}
})
</script>


效果图:文本框内输入什么,下面的文字就跟着一起改变。

(2) v-html

代码如下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数据绑定</title>
</head>
<body>

<div id="ipt">
<p v-html="msg"></p>
</div>

</body>
</html>

<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
var vm=new Vue({
el:"#ipt",
data:{
msg:"<a href='http://www.91mszl.com'>91名师指路</a>"
}
})
</script>

效果:


(3) v-text

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数据绑定</title>
</head>
<body>

<div id="ipt">
<p v-text="msg"></p>
</div>

</body>
</html>

<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
var vm=new Vue({
el:"#ipt",
data:{
msg:"<a href='http://www.91mszl.com'>91名师指路</a>"
}
})
</script>

效果图:

(4) 强制数据绑定

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数据绑定</title>
</head>
<body>

<div id="ipt">
<img v-bind:src="imgurl"><!-- 写法一 -->
<img :src="imgurl"><!-- 写法二 -->
</div>

</body>
</html>

<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
var vm=new Vue({
el:"#ipt",
data:{
msg:"<a href='http://www.91mszl.com'>91名师指路</a>",
imgurl:"http://www.91mszl.com/images/logo.png"
}
})
</script>

效果图:


(5) 绑定监听事件

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>监听</title>
</head>
<body>

<div id="ipt">
<button v-on:click="btn">点我1</button><!-- 写法一 -->
<button @click="btn">点我2</button><!-- 写法二 -->
</div>

</body>
</html>

<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
new Vue({
el:"#ipt",
data:{
msg:"<a href='http://www.91mszl.com'>91名师指路</a>"
},
methods:{
btn(){
alert("this is button");
}
}
})
</script>

效果图:


(6) computed

代码如下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>计算属性</title>
</head>
<body>

<div id="ipt">
姓:<input type="text" v-model="firstName"><br>
名:<input type="text" v-model="lastName"><br>
全名:<input type="text" v-model="fullName">
</div>

</body>
</html>

<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
var vm=new Vue({
el:"#ipt",
data:{
firstName:"zhang",
lastName:"san"
},
computed:{
fullName:{
get(){
return this.firstName+ "-" + this.lastName;
},
set (value) {
const names = value.split('-')
this.firstName = names[0]
this.lastName = names[1]
}
}
}
})
</script>

要实现的效果。当姓或名改变时,全名跟着一起被改变,同时当全名被改变时,姓或名一起跟着改变。


2019-11-07 17:59:36     阅读(929)

名师出品,必属精品    https://www.91mszl.com

联系博主    
用户登录遮罩层
x

账号登录

91名师指路-底部