數組封裝
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的差不多了,再去對照源碼驗證自己的猜想:)