vue day01
- 显示某个变量
<!DOCTYPE html>
<html lang="en">
<head>
<script src="../js/vue.js"></script>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">{{message}}</div>
</body>
<script>
//let或者const声明一个变量,以前var
//编程范式:声明式编程
const app = new Vue({
el:'#app', //用于挂载要管理的数据
data:{ //定义数据
message:'hi好,世界!'
}
})
/*
元素js的做法(编程范式:命令式编程)
1.创建div元素
2.定义一个变量message
3.将message变量放在前面的div元素显示
*/
</script>
</html>
打开浏览器的控制台
输入app.message=“one”,页面显示改变了
-
v-for
<!DOCTYPE html> <html lang="en"> <head> <script src="../js/vue.js"></script> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <div>{{movies}}</div> <ul> <li v-for="item in movies">{{item}}</li> </ul> </div> </body> <script> //let或者const声明一个变量,以前var //编程范式:声明式编程 const app = new Vue({ el:'#app', //用于挂载要管理的数据 data:{ //定义数据 message:'hi好,世界!', movies:['火影','海贼王','柯南'] } }) /* 元素js的做法(编程范式:命令式编程) 1.创建div元素 2.定义一个变量message 3.将message变量放在前面的div元素显示 */ </script> </html>
-
案例:计数器
<!DOCTYPE html> <html lang="en"> <head> <script src="../js/vue.js"></script> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <h2>{{counter}}</h2> <button v-on:click="add">+</button> <button v-on:click="sub">-</button> //语法糖写法 <button @click="add">+</button> <button @click="sub">-</button> </div> </body> <script> // const app = new Vue({ el:'#app', //用于挂载要管理的数据 data:{ //定义数据 counter:0 }, methods:{ add: function () { console.log("add被执行") this.counter++ }, sub: function () { console.log("sub被执行") this.counter-- } } }) </script> </html>
-
MVVM
-
-
proxy
<!DOCTYPE html> <html lang="en"> <head> <script src="../js/vue.js"></script> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <h2>{{counter}}</h2> <button @click="add">+</button> <button @click="sub">-</button> <button v-on:click="add">+</button> <button v-on:click="sub">-</button> </div> </body> <script> //proxy const ojb ={ counter: 0 } const app = new Vue({ el:'#app', //用于挂载要管理的数据 data:ojb, methods:{ add: function () { console.log("add被执行") this.counter++ }, sub: function () { console.log("sub被执行") this.counter-- } } }) </script> </html>
-
vue 生命周期
<div id="app"> {{message}} </div> <script src="../js/vue.js"></script> <script> const app = new Vue({ el:'#app', data:{ message:'hi好,世界!' }, methods:{ }, created: function () { console.log("created") }, mounted:function () { console.log("mounted") } }) </script>
-
钩子函数
-
mustache语法
<div id="app"> <h2>we are dog {{message}}</h2> <h2>{{firstName+' '+lastName}}</h2> <h2>{{firstName}} {{lastName}}</h2> <h2>{{counter*2-1}}</h2> </div> <script src="../js/vue.js"></script> <script> const app = new Vue({ el:'#app', data:{ message:'hi好,世界!', firstName:'Knuth', lastName:'John', counter:100 } }) </script>