12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <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">
- <h1>{{num1}}+{{num2}}={{sum}}</h1>
- <button @click="changeFun">change</button>
- </div>
- <script>
- var app = new Vue({
- el: '#app',
- data:{
- num1:1,
- num2:2,
- sum:0,
- arr:[1,2,3],
- obj:{
- a:1,
- b:{
- c:1
- }
- }
- },
- methods:{
- changeFun:function(){
- this.num2 = 100;
- this.num1 = 100;
- this.arr[1] = 100;
- // this.arr = ['a','b','c']
- this.obj.b = 100;
- }
- },
- watch:{
- num2:function(val,oldVal){
- // watch 监听num2的变化 接受两个参数 val 代表新值 oldVal 代表旧值
- console.log("num2=",val,oldVal)
- this.sum = this.num1 + val
- },
- num1:{
- handler(val,oldVal){
- console.log("num1=",val,oldVal)
- }
- },
- arr:{
- handler(val,oldVal){
- console.log("arr=",val,oldVal)
- },
- deep:true
- },
- obj:{
- handler(val,oldVal){
- console.log("obj=",val,oldVal)
- },
- deep:true
- }
- }
- })
-
- </script>
- </body>
- </html>
|