理解Vue中的 編譯作用域

2021-10-17 08:28:02 字數 926 閱讀 3877

先來考慮下面的**是否最終是可以渲染出來的:

中,我們使用了isshow屬性。isshow屬性包含在元件中,也包含在vue例項中

**答案:**最終可以渲染出來,也就是使用的是vue例項的屬性。

為什麼呢?

官方給出了一條準則:父元件模板的所有東西都會在父級作用域內編譯;子元件模板的所有東西都會在子級作用域內編譯。

而在使用的時候,整個元件的使用過程是相當於在父元件**現的。

那麼他的作用域就是父元件,使用的屬性也是屬於父元件的屬性。

因此,isshow使用的是vue例項中的屬性,而不是子元件的屬性。

我是子元件h2

>

>

我是內容, 哈哈哈p

>

v-show

="isshow"

>

按鈕button

>

div>

template

>

js的預編譯 作用域鏈

預編譯發生在函式執行的前一刻 全域性下面 函式裡面 1.js三步驟 首要先做語法分析,若有明顯的低階錯誤語法,就直接報錯,所有 均不執行 預編譯 解釋執行 解釋一行,執行一行。2.函式中的預編譯執行步驟 函式執行的前一刻發生預編譯 step1 建立ao物件,執行期上下文 step2 找到形參和變數宣...

關於JS中函式預編譯 作用域的幾點筆記記錄

兩者結合的通常就是一些地方列印出來的結果會出人意料,與預期不符。基礎是作用域,在es5中作用域只有全域性作用域和函式所代表的區域性作用域 es6中才有 塊級作用域 所以常常有區域性作用域中的隱式全域性變數會影響函式外部的隱式全域性變數值 但是如果是使用var宣告就不會受影響。接下來是瀏覽器解析js預...

Vue 中的作用域插槽

vue.component child template let vm new vue 上面 如果此時有個需 child元件在很多地方會被呼叫,我希望在不同的地方呼叫child的元件時,這個列表到底怎麼迴圈,列表的樣式不是child元件控制的,而是外部child模版站位符告訴我們元件的每一項該如何渲...