摘要:就是實例中的對象當(dāng)前組件接收到的對象。當(dāng)前組件數(shù)的根實例如果當(dāng)前實例沒有父實例,此實例將會是其自己當(dāng)前實例的直接子組件。
vue實例
每個 Vue 應(yīng)用都是通過用 Vue 函數(shù)創(chuàng)建一個新的 Vue 實例開始的:
var vm = new Vue({ // 選項 })
當(dāng)創(chuàng)建一個 Vue 實例時,你可以傳入一個選項對象。作為參考,你也可以在 api/#選項-數(shù)據(jù) 文檔 中瀏覽完整的選項列表。
const app = new Vue({ el: "#root", // vue實例掛載的位置,如果不用el掛載,則也可以用app.#mount("#root") template: "vue實例屬性(常用){{text}} {{obj.a}}", //模板選項 data: { //實例數(shù)據(jù)選項 text: 0 } })
除了數(shù)據(jù)屬性,Vue 實例還暴露了一些有用的實例屬性與方法。它們都有前綴 $,以便與用戶定義的屬性區(qū)分開來。
$data
app.$data //{text:1},就是vue實例中的data對象
$props
app.$props // 當(dāng)前組件接收到的 props 對象。父組件向子組件傳遞的數(shù)據(jù)
$el
app.$el //vue掛載的dom節(jié)點
$options
// 需要在選項中包含自定義屬性時會有用處 app.$options //當(dāng)前 Vue 實例的初始化選項,注意:直接修改app.$options.data.text = 1的值是沒有效果的
$parent
app.$parent //父實例,如果當(dāng)前實例有的話。
$root
app.$root //當(dāng)前組件數(shù)的根vue實例,如果當(dāng)前實例沒有父實例,此實例將會是其自己
$children
// 當(dāng)前實例的直接子組件。使用組件時使用,比如使用- 組件時,里面的
就是item的children app.$children$slots
app.$slots//作為插槽的時候引用 app.$scopedSlots//$refs
//模板的引用,快速定位到節(jié)點或組件,返回HTML對象或組件,例如 app.$refs$isServer
app.$isServer//當(dāng)前 Vue 實例是否運行于服務(wù)器。 應(yīng)用于服務(wù)端渲染實例方法$watch( expOrFn, callback, [options] )
app.$watch //監(jiān)聽數(shù)據(jù)變化時執(zhí)行,與選項里面的watch一樣對比:
unWatch = this.$watch("text", (newText, oldText) => { console.log(`${newText} : ${oldText}`) }) watch: { text(newText, oldText) { console.log(`${newText} : ${oldText}`); } }, //使用watch監(jiān)聽時,組件銷毀時會自動銷毀,而$watch則不會,必須自己調(diào)用unWatch()進(jìn)行銷毀$on(event,callback) $emit( eventName, […args] ) $once( event, callback )
//監(jiān)聽事件 app.$on("test", function (msg) { console.log(msg) //hi }) //觸發(fā)事件 app.$emit("test", "hi") //監(jiān)聽事件,只觸發(fā)一次 app.$once("test", function (msg) { console.log(msg) //hi })$forceUpdate()
//迫使 Vue 實例重新渲染。 app.$forceUpdate() //當(dāng)給初始化未設(shè)置的屬性時,就不會自動響應(yīng)數(shù)據(jù),這樣迫使重新渲染,可以重新響應(yīng) //盡量不要以這種方式來做,這樣性能開銷很大$set( target, key, value ) $delete( target, key )
//設(shè)置某一個值 app.$set(this.obj,"a",i) //刪除某一個值 app.$set(this.obj,"a)$nextTick ( [callback] )
//$nextTick 是在下次 DOM 更新循環(huán)結(jié)束之后執(zhí)行延遲回調(diào),在修改數(shù)據(jù)之后使用 $nextTick,則可以在回調(diào)中獲取更新后的 DOM,Vue 實現(xiàn)響應(yīng)式并不是數(shù)據(jù)發(fā)生變化之后 DOM 立即變化,而是異步更新的 new Vue({ // ... methods: { // ... example: function () { // 修改數(shù)據(jù) this.message = "changed" // DOM 還沒有更新 this.$nextTick(function () { // DOM 現(xiàn)在更新了 // `this` 綁定到當(dāng)前實例 this.doSomethingElse() }) } } })文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/110157.html
摘要:此時還未有選項鉤子函數(shù)和間的生命周期完成后,會有一個判斷過程,判斷對象是否有選項。鉤子函數(shù)和鉤子函數(shù)間的生命周期當(dāng)發(fā)現(xiàn)中的數(shù)據(jù)發(fā)生了改變,會觸發(fā)對應(yīng)組件的重新渲染,先后調(diào)用和鉤子函數(shù)。和鉤子函數(shù)間的生命周期鉤子函數(shù)在實例銷毀之前調(diào)用。 vue生命周期 這是vue生命周期的圖示具體內(nèi)容:showImg(https://segmentfault.com/img/bV4xju?w=1200&...
摘要:更推薦用和實現(xiàn)父子組件通信創(chuàng)建實例此時打印出組件繼承使用基礎(chǔ)構(gòu)造器,創(chuàng)建一個子類。包含組件選項的對象創(chuàng)建構(gòu)造器創(chuàng)建實例,并掛載到一個元素上。該對象包含可注入其子孫的屬性。和綁定并不是可響應(yīng)的。 組件注冊 關(guān)于組件名: *組件名可以是kebab-case (短橫線分隔命名)或者PascalCase (駝峰式命名) 當(dāng)使用 kebab-case (短橫線分隔命名) 定義一個組件時,你也必...
摘要:更推薦用和實現(xiàn)父子組件通信創(chuàng)建實例此時打印出組件繼承使用基礎(chǔ)構(gòu)造器,創(chuàng)建一個子類。包含組件選項的對象創(chuàng)建構(gòu)造器創(chuàng)建實例,并掛載到一個元素上。該對象包含可注入其子孫的屬性。和綁定并不是可響應(yīng)的。 組件注冊 關(guān)于組件名: *組件名可以是kebab-case (短橫線分隔命名)或者PascalCase (駝峰式命名) 當(dāng)使用 kebab-case (短橫線分隔命名) 定義一個組件時,你也必...
摘要:指令指令帶有前綴,以表示它們是提供的特殊特性。添加事件偵聽器時使用模式。只當(dāng)事件是從偵聽器綁定的元素本身觸發(fā)時才觸發(fā)回調(diào)。差別在哪里將特性名轉(zhuǎn)換為從開始支持語法糖,會擴(kuò)展成一個更新父組件綁定值的偵聽器。 vue指令 指令帶有前綴 v-,以表示它們是 Vue 提供的特殊特性。 v-text {{msg}} v-html //渲染HTML文本,更新元素的 innerHTML 。注意:內(nèi)...
摘要:哪吒社區(qū)技能樹打卡打卡貼函數(shù)式接口簡介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號作者架構(gòu)師奮斗者掃描主頁左側(cè)二維碼,加入群聊,一起學(xué)習(xí)一起進(jìn)步歡迎點贊收藏留言前情提要無意間聽到領(lǐng)導(dǎo)們的談話,現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區(qū)Java技能樹打卡?【打卡貼 day2...
閱讀 1173·2021-09-27 13:34
閱讀 981·2021-09-13 10:25
閱讀 511·2019-08-30 15:52
閱讀 3450·2019-08-30 13:48
閱讀 648·2019-08-30 11:07
閱讀 2167·2019-08-29 16:23
閱讀 1993·2019-08-29 13:51
閱讀 2328·2019-08-26 17:42