01-初识Vue
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<h2>{{msg}}</h2>
<h2>{{txt}}</h2>
<h2>{{10+10}}</h2>
<h2>{{1>0?"二哥":"三弟"}}</h2>
</div>
</body>
<script>
let vm = new Vue({
el: "#app",
data: {
msg: "你好,我是小爱!",
txt: "好谷二哥"
}
});
</script>
</html>
02-指令v-claoak
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/vue.js"></script>
<style>
[v-cloak] {
display: none;
}
</style>
</head>
<body>
<div id="app">
<h2 v-cloak>{{msg}}</h2>
</div>
</body>
<script>
new Vue({
el: "#app",
data: {
msg: 'hello,I am spideman!'
}
})
</script>
</html>
03-v-text
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<h2>郑州{{msg}}</h2>
<h2 v-text="msg">郑州</h2>
<h2 v-text="oHtml"></h2>
</div>
</body>
<script>
new Vue({
el: "#app",
data: {
msg: "好谷课堂",
oHtml: "<em>二哥</em>"
}
});
</script>
</html>
04-v-html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<h2>郑州{{msg}}</h2>
<h2 v-html="msg">郑州</h2>
<h2 v-html="oHtml"></h2>
</div>
</body>
<script>
new Vue({
el: "#app",
data: {
msg: "好谷课堂",
oHtml: "<em>二哥</em>"
}
});
</script>
</html>
05-v-pre
Document
郑州{{msg}}
## 06-v-once
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<h2 v-once>郑州{{msg}}</h2>
{{changeMSG()}}
</div>
</body>
<script>
new Vue({
el: "#app",
data: {
msg: "我是最帅的!"
},
methods: {
changeMSG() {
this.msg = '哈哈'
}
}
})
</script>
</html>
07-v-model
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<input type="text" v-model="msg">
<h2>{{msg}}</h2>
</div>
</body>
<script>
new Vue({
el:'#app',
data:{
msg:"超级英雄"
},
methods:{
changeMSG(){
this.msg="超人";
}
}
});
</script>
</html>
08-js模拟双向输入
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<input type="text" id="text">
<div id="box"></div>
</div>
<script>
var oText = document.getElementById("text");
oText.oninput = function () {
console.log(this.value);
document.getElementById("box").innerHTML = this.value
}
</script>
</body>
</html>
09-v-model修饰符
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="app">
<input type="text" v-model.number="num">
<h2>{{num+num}}</h2>
<input type="text" v-model.trim="msg">
<h2>{{msg}}</h2>
<input type="text" v-model.lazy="txt">
<h2>{{txt}}</h2>
</div>
</body>
<script type="text/javascript">
new Vue({
el:"#app",
data:{
num:10,
msg:"好谷学堂",
txt:"二哥"
}
})
</script>
</html>
10-v-on
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<h2>{{msg}}</h2>
<button v-on:click="changeMsg()">点击修改msg</button>
<button @mouseover="changeMsg2()">鼠标经过修改</button>
<button @click="changeMsg3('七个+','葫芦娃')">能传参哦</button>
</div>
</body>
<script type="text/javascript">
new Vue({
el:"#app",
data:{
msg:"快修改我"
},
methods:{
changeMsg(){
this.msg='修改了1';
},
changeMsg2(){
this.msg='修改了2';
},
changeMsg3(args1,args2){
this.msg=args1+args2;
}
}
})
</script>
</html>
11-v-on修饰符
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/vue.js"></script>
<style>
.outer {
width: 300px;
height: 300px;
background: red;
}
.inner {
width: 150px;
height: 150px;
background: yellow;
}
</style>
</head>
<body>
<div id="app">
<div class="outer" @click="outerFn">
<div class="inner" @click.stop="innerFn">
<button @click.stop="btnFn">好谷</button>
</div>
</div>
<a href="http://www.hg-zn.com" @click.prevent.once="changeMsg">
好谷就业力
</a>
<h2>{{msg}}</h2>
<div class="outer" @click.capture="outerFn">
<div class="inner" @click.capture="innerFn">
<button @click.capture="btnFn">好谷</button>
</div>
</div>
<h2>self修饰符</h2>
<div class="outer" @click="outerFn">
<div class="inner" @click.self="innerFn">
<button @click="btnFn">好谷</button>
</div>
</div>
</div>
<script>
new Vue({
el: "#app",
data: {
msg: "好谷就业力"
},
methods: {
outerFn() {
console.log("outerFn");
},
innerFn() {
console.log("innerFn");
},
btnFn(e) {
console.log("btnFn");
},
changeMsg() {
this.msg = "好谷"
}
}
})
</script>
</body>
</html>