Vue 數組封裝和組件data定義為函數一些猜測


 數組封裝

var vm={
    list:[0,1]
}
var push=vm.list.push;//把數組原來的方法存起來
vm.list.push=function(arg){//重新定義數組的push方法
    push.call(this,arg);//調用老的push方法
    console.log('數組增加項');//執行其他相關的程序
}

   這里實際上新的push方法應該是放在__proto__里,上面這么寫是方便理解

  上面我定義了一個簡單的push方法,在數組初始化的時候 用新定義的方法代替了數組原有方法,從而實現對數組操作的封裝

組件data定義

var component1={
     data:{
       name:'test'
    }
}
var component2={
     data:function(){
       name:'test'
    }
}

var vm1.xxx=component1.data;//引用
var vm2.xxx=component1.data();//復制

  組件的data一般是不能引用的,因為一個頁面可能有好幾個改類型的組件

  定義為函數,可以更方面每個組件的data初始化

 

  最近在使用Vue,在使用的過程中,慢慢對Vue的設計原理有了一些猜想,這個系列的文章就是闡述這些猜想,這些猜想並不是閱讀源碼的結果,純粹是使用過程中的猜測,這個系列的文章會陸續更新,主要是用來和大家討論Vue的實現。要研究Vue的實現,並不是每個人都適合直接看源碼的,只是我不太適合直接看源碼,我還是喜歡用了后,自己先在腦海里里YY一下,能都YY的差不多了,再去對照源碼驗證自己的猜想:)

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM