一:箭头函数没有this指向 所以不要使用例如:
created()=>{console.log(this)}
箭头函数并没有this指向,this会作为变量向上级语法作用域进行查找,直到找到为止
所以会出现
Uncaught TypeError: Cannot read property of undefined
或者
Uncaught TypeError: this.myMethod is not a function
之类的错误。
二:v-bind 动态绑定
<div v-bind:href="url"></div>
缩写
<div :href="url"></div>
注释:url为data中声明的变量
三:v-on 事件绑定
<div v-on:click="mydocument">点击我</div>
缩写
<div @click"mydocument">点击我</div>
methods:{
mydocument(){
alert("我是点击事件")
}
}
四:计算属性和侦听
<div>{{mydocument}}</div>
<p>{{changemydocument}}</p> // 或者<p>{{ mydocument.split('').reverse().join('')}}</p>
data(){
return{
mydocument:"mydocument"
}
}
如果不想改变div中 document 的值 使用计算属性
computed:{ // 计算属性
changemydocument:function(){ // changemydocument(){}
return this.mydocument="mychangedocument" // 这样写会出现一个错误
return this.mydocument.split('').reverse().join('') //这样写正确 结果tnemucodym
}
}
错误:
错误原因:
mydocument是一个变量,计算属性changemydocument依赖于mydocument,当计算属性在计算的时候又改变了mydocument的值,又一次触发了mychangedocument的计算
形成依赖收集递归 计算属性内部触发计算属性重新计算
结果
mydocument
tnemucodym