# 更多 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 实例