VUE DOCMENT ONE

127 阅读1分钟

一:箭头函数没有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