vue.js 混入

混入:mixins

一种分发Vue组件中可反复使用的功能的方法。

混入对象可以:包含任意组件选项。

混入对象的选项将被混入该组件本身的选项。

  • 如果有同名选项,在和组件的数据发生冲突时,组件数据优先。混入数据被丢弃。

 

全局混入:Vue.minin({...})  ⚠️谨慎使用。

会影响到每个单独创建的Vue实例。

// 为自定义的选项 'myOption' 注入一个处理器。
// created是实例初始化后的钩子:
Vue.mixin({
created: function () {
var myOption = this.$options.myOption   #$options得到所有选项。
if (myOption) {
console.log(myOption)
}
}
})

new Vue({
myOption: 'hello!'      # 这是给实例的自定义属性

})
// => "hello!

选项/组合

mixins: [object] 

接受一个混入对象的数组。

比如声明一个变量hook,这个变量是一个钩子方法。通过minins: [hook], 可以把这个变量hook放入new Vue({})中。

 

extends:Object | Function

用于声明扩展另一个组件。无需使用Vue.extend。主要为了方便扩展单文件组件xxx.vue

例子:

var CompA = { ... }     #一个对象

var CompB = {       #在没有调用 Vue.extends的时候继承 CompA

   extends: CompA, ...

}


 

 

全局API

Vue.extend(options),

用基础构造器,创建一个‘子类’这个类被实例化后就是一个Vue实例。但没有挂载.

options是 {object}, 组件选项

  • data: function() {  return ... }
  • template: '<p>...</p>'  

例子:

var Profile = Vue.extend({ ...})    #创建构造器

new Profile().$mount("#元素?")    #创建Profile实例,挂载到一个元素上。

new Profile({ el: '#元素?'})    #等同于加上el选项。

new Profile().$mount()      #没加参数,相当于新建了一组元素。尚未插入到DOM文档.


 

 

实例方法/生命周期

vm.$mount([element或者Selector])

如果Vue实例在实例化的时候没有收到el选项,则它处于未挂载状态,没有关联DOM元素。

使用$mount()手动挂载到一个元素上。

返回: 实例本身。所以可以用链式调用其他实例方法。

 

 


 

实例属性

vm.$options  得到所有选项。

 

转载于:https://www.cnblogs.com/chentianwei/p/9637198.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值