<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <p>{{ myMsg }}</p> <button @click="clickHandler">修改</button> </div> <script src="vue.js"></script> <script> let vm = new Vue({ el: "#app", data() { return { msg: "alex", age: 18, } }, //在methods属性 和 computed属性 里声明的所有的方法里面的this指的都是vue, 里面不要用箭头 *********** //箭头函数 只用在定时器和ajax里面 methods: { //里面的每一个方法要挂载到 vm上 clickHandler() {//单体函数中的this就是当前对象vm console.log(this); this.msg = "wusir"; // 当msg的数据属性 发生改变,下面的watch就会立马监听** this.age = 20; }, clickHandler2: function () {//这个里面的this也是当前对象vm console.log(this) //在声明的函数内部 this指的是当前对象vue }, //箭头函数 只用在定时器和ajax里面 clickHandler3: () => {//但是箭头函数中的this是当前对象的父类window method里面不要用箭头 console.log(this)//在声明的函数内部 this指的是当前对象vm的父类 window }, }, computed: { //对应的是一个对象 里面放key-value 计算属性默认只有getter方法 监听的是msg和age myMsg: function () { //声明一个方法 //写业务逻辑 return `我的名字叫${this.msg},年龄是${this.age}`; } } }) </script> </body> </html>
原文地址:https://www.cnblogs.com/kenD/p/10043332.html
时间: 2024-11-19 12:27:32