# 更多 API

# 组件继承

Vue.extend(options) 继承一个实例,创建一个"子类"

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

# 事件循环

Vue.nextTick(callback,context) 等待 DOM 更新

// 修改数据
vm.msg = "Hello";
// DOM 还没有更新
Vue.nextTick(function () {
  // DOM 更新了
});

# 数据响应式

  • Vue.set 添加响应式数据
  • Vue.delete 删除响应式数据
  • Vue.compile 将一个字符串转为 render 函数
  • Vue.observable(object) 让一个对象可响应

# 插件相关

  • Vue.mixin(mixin) 注册一个混入
  • Vue.directive 注册指令
  • Vue.filter 注册过滤器
  • Vue.component 注册组件
  • Vue.use 安装插件

如果插件是一个对象,必须提供install方法 如果插件时一个函数,它会作为install方法

# 参数传参

$parent $children 组件的引用 provide inject 祖先后代传递参数,不建议应用中使用

# 实例数据

$data

Vue 实例观察的 data 对象本身,Vue 实例代理了对其 data 对象 property 的访问

$props

Vue 实例观察的 prop 对象本身,Vue 实例代理了对其 data 对象 property 的访问

$options

Vue 实例的初始化选项,保存了组件 init 时的初始数据

# DOM 引用

$el

Vue 实例使用的根 DOM 元素

$refs

一个对象,包含注册过ref的所有 DOM 元素和组件实例

$root

Vue 组件树的根 Vue 实例