手撕VUE原始碼 一 手寫乙個MVVM

2022-05-17 15:42:09 字數 1150 閱讀 3990

class vue

}}class observer

observer(data)

}} reactive(key,value,data),

set: newvalue => }})

}}class compiler

compilertodata(fregment)else

})} compilerelementnode(node) = attr; //

v-model="jsc" 物件結構,冒號後面代表將屬性的值賦給新的變數名

//判斷屬性是否為vue指令

if(this

.isvuedirect(vuedirect))

})} compilertextnode(node)\}/.test(textcontent))

} isvuedirect(name)

return

false

; }

getchildnodes(el)

return

fregment;

} iselementnode(node)}//

vue指令及解析處理關係對映

compilermaputil =,

text(node,vueobject,content)}進行替換

//因為箭頭函式沒有arguments,因此使用...args剩餘引數表示法,可以將類陣列arguments轉換成陣列型別變數args接收

let textcontent = content.replace(/\\}/g,(...args)=>},第二個引數是子表示式匹配到的jsc

return

this.getvalue(vueobject,args[1]);

})let fn = this.updater['textupdater'] //

獲取文字節點對應的賦值方法

fn(node,textcontent);

//進行賦值操作

}, getvalue(vueobject,express),vueobject.$data)

},updater:,

textupdater(node, modelvalue)

},for

(),

if()

}

(一)手寫spring IOC容器

設計bean工廠介面 如何告訴他建立bean?建立什麼bean?bean工廠實現 畫完整uml類圖 編寫 測試總結 1.ioc是什麼?ioc inversion of control 控制反轉,也稱依賴倒置反轉。反 依賴物件的獲得權被反轉了,由自己建立,變為從ioc容器獲取,和自動注入。2.帶來什麼...

TensorFlow實戰(一)手寫數字識別

tensorflow實戰 第一章是基礎,沒什麼好看的,跳過出,第二章是說tensorflow和其他的模組,比如caffe等,caffe以前也說過,比較容易,但是配置比較麻煩 cpu的容易點,gpu比較麻煩 第三章 簡單說一下安裝吧,就行在命令列輸入 前提是你已經有python pip install...

一手寫不出大市場

丁乙乙 手寫板?就是那種給老人用的?在回答記者關於 你是否會購買手寫板 時,一位20來歲的小夥子脫口而出這句話。怎麼會呢?記者真是從來沒有聽到這樣的理論。怎麼不是?我每天網上聊天,雖然打的是全拼,但也蠻快的。有什麼必要再去用手寫?只有那些連拼音也掌握不了的老人才會去用呢!短短幾句話,雖然難免有失偏頗...