function
initdata
(vm);if
(!isplainobject
(data));
process.env.
node_env
!=='production'
&&warn
('data functions should return an object:\n'
+'', vm
);}// proxy data on instance
var keys = object.
keys
(data)
;var props = vm.$options.props;
var methods = vm.$options.methods;
var i = keys.length;
while
(i--)}
if(props &&
hasown
(props, key)
)elseif(
!isreserved
(key))}
// observe data
observe
(data,
true
/* asrootdata */);
}
它會執行兩步
會把option.data的資料 proxy到例項當中,proxy實際上是對object.defindproperty的封裝,這就解釋 了this.name為什麼能獲取option.data的屬性
然後把data變成響應式物件(當然,如果child也是物件,則會深層遍歷為 響應式物件)
observe -》observer-》this.walk(value)-》definereactive
然後再給所有 屬性 新增definereactive setter/getter
最後 的返回的物件為
,ob:
}用 __ob__來標識 是否為響應式物件
vue2 x知識總結
data data data data 逆轉訊息 data methods data 現在我們為每個 todo item 提供 todo 物件 todo 物件是變數,即其內容可以是動態的。我們也需要為每個元件提供乙個 key 稍後再 作詳細解釋。vue.component todo item dat...
在vue2 x專案中怎麼引入Element UI
參考 element使用方法 第一步 cmd進入專案目錄下,安裝 elementui 並儲存到 package.json npm install element ui s npm install element ui s有2個錯誤 解決方法 npm install 如圖 再執行一次npm insta...
vue2 x 許可權管理實現
由於工作的需求,前後端分離,需要對頁面中的資源許可權控制,到按鈕級別。開發步驟 1 制定 資源的命名規則 系統名 模組名 頁面名 功能名 2 收集各個頁面所有需要管控按鈕的資源,用乙個excel來整理 退出編輯備註 a.v privilege 表示是使用的指令 b.privilegeid 表示資源的...