Vue.js學習筆記:關於元件掛載
阿新 • • 發佈:2019-02-08
最近學習到Vue.js的元件部分,在看完官方文件之後還是一頭霧水,於是自己試驗了一下,將試驗結果記錄下來,以便查閱。
我在跟著文件做了一遍之後,渲染結果為:
<div id="example">
<div>A custom component!</div>
</div>
到這裡都沒什麼問題,於是我在Vue例項中加上了data:{a:"asd"},而後將template的內容改為:template: '<div>{{a}} custom component!</div>',得到的結果:
也就是說使用這種元件註冊的方式呼叫不到Vue例項中的data資料!<div id="example"> <div>custom component!</div> </div>
<div id="point"></div> <!-- 元件掛載在這個div之內 -->
這下執行正常了,這種方式跟上一種的區別在於這一種是直接掛載到指定的元素內部,且建立的例項比如// 建立可複用的構造器 var Profile = Vue.extend({ template: '<p>{{firstName}} {{lastName}} aka {{alias}}</p>' }) // 建立一個 Profile 例項 var profile = new Profile({ data: { firstName: 'Walter', lastName: 'White', alias: 'Heisenberg' } }) // 掛載到元素上 profile.$mount('#point')
var profile = new Profile({})
必須跟構造器的變數名相同var Profile = Vue.extend({})
否則找不到資料。
建立例項的時候也可以用el屬性來掛載元件,比如:
var profile = new Profile({
el:"#point",
data: {
firstName: 'Walter',
lastName: 'White',
alias: 'Heisenberg'
}
})
效果與
掛載效果相同profile.$mount('#point')