Hello World
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Vue基础</title>
</head>
<body>
<div id="app">
{{message}}<!---->
</div>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
var app=new Vue({
el:"#app",
data:{
message:"Hello Vue!"
}
})
</script>
</body>
</html>
el挂载点
el为挂载点,适用于css的各种选择器
id选择器# (在开发中尽量使用id)
class选择器.
还可以使用标签名
data数据对象
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Vue基础</title>
</head>
<body>
<div id="app">
{{message}}
<h2>
{{school.name}}
{{school.mobile}}
</h2>
<ul>
<li>
{{campus[0]}}
</li>
<li>
{{campus[3]}}
</li>
</ul>
</div>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
var app=new Vue({
el:"#app",
data:{
message:"Hello Vue!",
school:{
name:"userlyz",
mobile:"123456"
},
campus:["地区1","地区2","地区三","地区四"]
}
})
</script>
</body>
</html>
Vue指令
内容绑定,事件绑定
v-text
只有不会对标签原有的内容进行改变
设置标签的文本值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Vue基础</title>
</head>
<body>
<div id="app">
<h2 v-text="message">userlyz</h2>
<h2 v-text="info">userlyz</h2>
<h2>{{txt}}userlyz</h2>
</div>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
var app=new Vue({
el:"#app",
data:{
message:"Hello userlyz!",
info:"Vue学习",
txt:"hello Vue!"
}
})
</script>
</body>
</html>
v-html
跟v-text类似,当v-html中的有html标签内容的时候使用这个,v-text只会按照文本的方式进行显示
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Vue基础</title>
</head>
<body>
<div id="app">
<h2 v-text="message"></h2>
<p v-html="content"></p>
<a href="https://userlyz.github.io/2021/12/29/js-xue-xi/#toc-heading-53">userlyz1</a>
<p v-html="cont"></p>
</div>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
var app=new Vue({
el:"#app",
data:{
message:"Hello userlyz!",
content:"Hello userlyz!",
cont:"<a href='https://userlyz.github.io/2021/12/29/js-xue-xi/#toc-heading-53'>userlyz2</a>",
}
})
</script>
</body>
</html>
v-on为元素绑定事件
Vue中允许你v-on替换成@
点击事件,
<div id="app">
<input type="button" value="事件绑定" v-on:click="dolt">
<input type="button" value="事件绑定" v-on:monseenter="dolt">
<input type="button" value="事件绑定" v-on:dblclick="dolt">
<input type="button" value="事件绑定" @click="dolt">
<h2 @click="changfood">{{food}}</h2>
</div>
<script>
var app=new Vue({
el:"#app",
data:{
message:"Hello userlyz!",
food:"userlyz"
},
methods:{
dolt:function (){
alert("事件触发")
},
changfood:function(){
this.food+="你好!"
}
}
})
</script>
案例 计数器
创建Vue实例时:el挂载点,data数据,methods方法
v-on指令的作用是绑定事件,简写为@
方法中通过this,关键字获取data中的数据
<div id="app">
{{message}}
<div class="input-num">
<button @click="sub">-</button>
<span>{{num}}</span>
<button @click="add">+</button>
</div>
</div>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
var app=new Vue({
el:"#app",
data:{
message:"Hello userlyz!",
num:1
},
methods:{
sub:function(){
//alert("sub")
if(this.num>0){
this.num--;
}
else{
confirm("别减了")
}
},
add:function(){
//alert("add")
if(this.num<10){
this.num++;
}
else{
confirm("别加了")
}
}
}
})
</script>
显示切换,属性绑定
v-show根据表达式的真假,切换元素的显示和隐藏
v-show=”ture” 或v-show=”age>=18”
原理是修改元素的displaly的值,显示隐藏 ;值为true元素显示,值为false元素隐藏;数据变化之后,对应元素的显示状态会同步更新
<div id="app">
{{message}}
<input value="切换图片的显示和隐藏" type="button" @click="changeisShow" >
<img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2Ftp09%2F21042G4331941H-0-lp.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1642915250&t=bf95b9745b8bf5cd6e5905306dd3014f" width="50%" height="50%" v-show="isShow"/>
</div>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
var app=new Vue({
el:"#app",
data:{
message:"Hello userlyz!",
isShow:false,
},
methods:{
changeisShow:function(){
//alert(this.isShow);
this.isShow=!this.isShow;
}
}
})
</script>
v-if
根据表达式的真假,切换元素的显示和隐藏(直接操纵dom元素)
<div id="app">
{{message}}
<input type="button" value="切换显示" @click="changeisShow">
<p v-if="isShow">userlyz</p>
</div>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
var app=new Vue({
el:"#app",
data:{
message:"Hello userlyz!",
isShow:false,
},
methods:{
changeisShow:function(){
this.isShow=!this.isShow;
}
}
})
</script>