這套前端面試題我會持續更新的,我不想用太多文字去解釋"題",而是用**去解釋問題,所以我們不要渴望通過背提綱來提公升自己,看原始碼找答案
mvvm即m(模型層)+v(檢視層)+vm(檢視模型層)
當模型層中的資料發生改變時 通過檢視模型層可以修改與之繫結的檢視層的資料(單向繫結)
當檢視層發生改動時,通過檢視模型曾與之繫結的模型層的資料頁發生改變(雙向繫結) 這種現象成為mvvm思想
總結:mvvm就是vue雙向繫結的思想
那麼這三個模組都是**中的哪一部分,上一段html**說明問題
什麼是mvvmtitle
>
head
>
>
"myh2"
>
h2>
type
="text"
>
>
//model
let msg =
"welecome"
//view model
let node =document.
getelementbyid
("myh2"
) node.innerhtml =msg
script
>
body
>
html
>
打個比方view就像是乙個縣,model就好比是縣長和它的領導班子,view model就是一部火車讓縣長的領導班子愉快的去縣城就職(沒有麻匪的事!)
**一執行?
msg就出現在了h2裡面
其實很簡單 v-model雙向繫結它實現了view直接影響model的壯舉,它是這麼實現的(簡單模擬一下)
什麼是mvvmtitle
>
head
>
>
"myh2"
>
h2>
type
="text"
id="myinput"
>
>
//model
let msg =
"welcome"
//view-model
window.
onload
=function()
)}script
>
body
>
html
>
**應該很好理解,由此一來就實現了view影響model實現了雙向繫結繼而體現了mvvm的思想
想要一次性的在載入完畢以後就繫結完畢,從此再無瓜葛
v-once
>
}p>
vue例項
msg:'loveu3000'
這麼一來就賦值了一下,任由你再改msg的值 檢視層也不會有變化
什麼是xss攻擊?
innerhtml可以插入標籤,惡意者可以修改裡面的**塊,從而達到載入頁面執行自己插入的
**的目的
下面這麼做就很危險?
type
="text"
v-model
="msg"
/>
v-html
="msg"
>
div>
// 因為使用者輸入的資訊不可信,這樣輸入什麼就會放入什麼,v-html就相當於乙個innerhtml
不過v-html只能執行html和css(與innnerhtml一樣) 插入的內容如果繫結了事件即使解析了也不會觸發,所以vue還是防止了xss攻擊
v-html
="value"
>
看看我被覆蓋了嗎p
>
vue例項
value:
'我是插入的超文字'
,
執行一下會發現只剩下"我是插入的超文字了"…
原創內容喜歡的話點讚支援一下吧,這個面試題的專欄我會持續更新的~~麼麼噠
敏捷到底是什麼?
文 ivar jacobson 在支援軟體工程 比如rational統一過程rup 與敏捷陣營 比如scrum或是xp 之間,人們一直存在著衝突。也不難理解,因為這兩種方法間都是在用著彼此並不相容的方式來描述的。其實大可不必,因為他們背後的觀點全然是相輔相成的。關鍵在於該如何用對兩者來說都公平的方式...
我們到底是什麼?
我們到底是什麼?我們是一種生物電流 生物電流有幾種狀態,喜怒哀樂等,可以根據外部環境進行自我切換 該種生物電流附屬在一種器官硬體上面 我們可以從器官硬體上感知一些資訊,產生新的資訊生物電流,新產生的生物電流符合原先的標準 我們可以把資訊電流儲存在器官硬體上,但具體如何儲存等資訊無法被我們感知 我們的...
SDN到底是什麼
sdn到底是什麼?雖然這個概念已經被炒到了,但還沒有人對其給出乙個明確的概念。盛科網路總監張衛峰撰寫了自己關注sdn以來,對其認識的四個階段,最後乙個階段又回到了sdn字面的意思軟體定義網路,每個階段作者的新觀點,也會給我們帶來一些啟發。以下為原文 我對sdn的認識可以分為四個階段,最後乙個階段是在...