Vue2的子类创建Vue.extend()方法

Vue.extend

1.传递的参数

Vue.extend({Object}),传递的是一个对象,这个对象包含template等,其实就是传递一个包含组件选项的对象。

他是属于Vue的全局API,用来创建一个Vue的"子类"。

2.使用
2.1 直接用来挂载元素

Vue.extend({Object})放回的是一个构造器,data要写成组件的函数形式,因为创建的是构造器,并非实例,所以要使用这个组件就必须new出来,并通过KaTeX parse error: Expected 'EOF', got '#' at position 8: mount('#̲mount-point')进行…mount()等同于el属性。

// 创建构造器
var Profile = Vue.extend({
  template: '<p>{{firstName}} {{lastName}}</p>',
  data: function () {
    return {
      firstName: 'Wang',
      lastName: 'wu',
    }
  }
})
// 创建 Profile 实例,并挂载到一个元素上。
new Profile().$mount('#mount-point')

//结果:
//<div id="mount-point"></div>
//<p>Walter White aka Heisenberg</p>
2.2 或者用来创建组件
//创建Vue对象
var vue = new Vue({
    el:'mount-point'
})

// 创建构造器
var Profile = Vue.extend({
  template: '<p>{{firstName}} {{lastName}}</p>',
  data: function () {
    return {
      firstName: 'Wang',
      lastName: 'wu',
    }
  }
})

//也可以这样使用,通过传入构造器和指定组件名'my-component',注册一个全局组件
Vue.component('my-component', Profile)

//结果:我就可以在vue实例挂载的元素中,使用我的组件了
//<div id="mount-point"><my-component></my-component></div>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值