摘要:包含一個比較完整的基本項目,打包測試代碼校驗源碼分析特性雙向綁定計算屬性事件支持監(jiān)測生命周期函數(shù)自定義指令根節(jié)點選擇器或是根節(jié)點元素。
re-vue
rewrite vue.js.
包含一個比較完整的基本項目,webpack打包、mocha測試、eslint代碼校驗.
online demo
源碼分析:https://github.com/xiaofuzi/deep-in-vue
特性雙向綁定
計算屬性
事件支持
watch監(jiān)測
生命周期函數(shù)
自定義指令
Usageexample:
var mvvm; var opts = { el: "#app", data: { isShow: false, counter: 1, hello: "ahahah!", info: { age: 18 }, person: { weight: 20, height: 170 } }, computed: { wellcome () { return {text: this.hello + "---" + this.info.age}; } }, methods: { add: function () { this.counter += 1; this.info.age += 1; }, toggle: function () { this.isShow = !this.isShow; } }, watch: { counter (val) { console.log("counter: ", val); }, info (info) { console.log("info: ", info); }, "info.age" () { }, wellcome () { console.log("wellcome: ", this.wellcome); } }, ready () { let self = this; self.hello = "Ready, go!"; setTimeout(function () { self.hello = "Done!"; }, 1000) } } TinyVue.$directive("visible", function (value) { this.el.style.visibility = value ? "visible" : "hidden"; }) mvvm = new TinyVue(opts);
el
Type: String | Node
根節(jié)點選擇器或是根節(jié)點dom元素。
data
Type: Object
初始化響應(yīng)式數(shù)據(jù)模型
computed
Type: Object
計算屬性,每一個元素對應(yīng)一個函數(shù)
注:
* computed屬性依賴于data中的響應(yīng)式數(shù)據(jù) * computed屬性可依賴computed屬性 * computed禁止賦值操作
methods
Type: Object
每一個元素對應(yīng)一個函數(shù),支持響應(yīng)式替換
watch
Type: Object
監(jiān)測對象,監(jiān)測對應(yīng)的響應(yīng)式數(shù)據(jù),當數(shù)據(jù)發(fā)生更改時執(zhí)行回調(diào).
$watch
Type: Function
監(jiān)測某一數(shù)據(jù)的響應(yīng)式變化
如:
var vm = new TinyVue({ data: { info: { age: 18 } } }); vm.$watch("info", function (info) { }); vm.$watch("info.age", function (age) { })
$directive
Type: Function
自定義指令
如:
vm.$directive("text", function (text) { this.el.textContent = text; });
beforeCompiler
生命周期函數(shù),編譯前執(zhí)行
ready
生命周期函數(shù),渲染完畢后執(zhí)行
Installnpm install tiny-vue --save
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/80956.html
摘要:不多廢話,先說結(jié)論小程序組件寫法這里就不再介紹。在官方文檔中,我們可以看到使用構(gòu)造器構(gòu)造頁面事實上,小程序的頁面也可以視為自定義組件。經(jīng)過一番測試,得出結(jié)果為為了簡便。畢竟官方標準,不用擔心其他一系列后續(xù)問題。 在開發(fā)小程序的時候,我們總是期望用以往的技術(shù)規(guī)范和語法特點來書寫當前的小程序,所以才會有各色的小程序框架,例如 mpvue、taro 等這些編譯型框架。當然這些框架本身對于新開...
摘要:供用戶在相應(yīng)的階段對其進行操作。我們像下面這樣使用這個指令大多數(shù)情況下,我們只需要使用與鉤子函數(shù)。里提供了函數(shù)的簡寫形式鉤子函數(shù)有兩個常用的參數(shù)和。其他用法與全局自定義指令一致。 一、vue生命周期 vue實例從創(chuàng)建到銷毀的過程,稱為生命周期,共有八個階段。 這八個階段里分別有一個叫做鉤子函數(shù)的實例選項。供用戶在相應(yīng)的階段對其進行操作。 beforeCreate(){ //組件實例剛...
摘要:供用戶在相應(yīng)的階段對其進行操作。我們像下面這樣使用這個指令大多數(shù)情況下,我們只需要使用與鉤子函數(shù)。里提供了函數(shù)的簡寫形式鉤子函數(shù)有兩個常用的參數(shù)和。其他用法與全局自定義指令一致。 一、vue生命周期 vue實例從創(chuàng)建到銷毀的過程,稱為生命周期,共有八個階段。 這八個階段里分別有一個叫做鉤子函數(shù)的實例選項。供用戶在相應(yīng)的階段對其進行操作。 beforeCreate(){ //組件實例剛...
摘要:供用戶在相應(yīng)的階段對其進行操作。我們像下面這樣使用這個指令大多數(shù)情況下,我們只需要使用與鉤子函數(shù)。里提供了函數(shù)的簡寫形式鉤子函數(shù)有兩個常用的參數(shù)和。其他用法與全局自定義指令一致。 一、vue生命周期 vue實例從創(chuàng)建到銷毀的過程,稱為生命周期,共有八個階段。 這八個階段里分別有一個叫做鉤子函數(shù)的實例選項。供用戶在相應(yīng)的階段對其進行操作。 beforeCreate(){ //組件實例剛...
摘要:響應(yīng)式原理判斷該實例是否存在進行調(diào)用相應(yīng)的初始化函數(shù)與主要工作是調(diào)用給屬性分別掛載觸發(fā)該鉤子時,會將當前屬性的實例推入當前的也就是當前的中即它訂閱的依賴,下文會講到。 vue響應(yīng)式原理 initState new Vue() => _init() => initState: function initState (vm: Component) { vm._watchers = []...
閱讀 1921·2021-09-23 11:21
閱讀 1705·2019-08-29 17:27
閱讀 1063·2019-08-29 17:03
閱讀 731·2019-08-29 15:07
閱讀 1929·2019-08-29 11:13
閱讀 2386·2019-08-26 12:14
閱讀 933·2019-08-26 11:52
閱讀 1737·2019-08-23 17:09