Vue.extend( options )
参数:options(选择),参数是一个包含组件选项的对象。
data 选项是特例,需要注意 - 在 Vue.extend() 中它必须是函数。
// 创建构造器
var Profile = Vue.extend({
template: '<p>{{firstName}} {{lastName}} aka {{alias}}</p>',
//函数的书写方式,返回的是一个对象
data: function () {
return {
firstName: 'Walter',
lastName: 'White',
alias: 'Heisenberg'
}
}
})
//当Vue实例没有el属性时,则该实例尚没有挂载到某个dom中
//假如需要挂载,可以在之后手动调用vm.$mount()方法来挂载,也可以通过事件调用函数延时挂
// 创建 Profile 实例,并挂载到一个元素上。
new Profile().$mount('#mount-point')
结果如下
<p>Walter White aka Heisenberg</p>
延时挂载
<div id="app">
{{a}}
</div>
<button onclick="test()">挂载</button>
<script>
var obj = {a: 1}
var vm = new Vue({
data: obj
})
function test() {
vm.$mount("#app");
}