全局配置(Vue.extend( options ))

Posted Vivianluolita

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全局配置(Vue.extend( options ))相关的知识,希望对你有一定的参考价值。

1 Vue.extend( options )

用法:
使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象。

data 选项是特例,需要注意 - 在 Vue.extend() 中它必须是函数

<div id="mount-point"></div>
// 创建构造器
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')

结果如下:

<p>Walter White aka Heisenberg</p>

2 Vue.nextTick( [callback, context] )

参数:
Function [callback]
Object [context]

用法:

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

// 作为一个 Promise 使用 (2.1.0 起新增,详见接下来的提示)
Vue.nextTick()
  .then(function () 
    // DOM 更新了
  )

3 Vue.set( target, key, value )

参数:
Object | Array target
string | number key
any value

用法
设置对象的属性。如果对象是响应式的,确保属性被创建后也是响应式的,同时触发视图更新。这个方法主要用于避开 Vue 不能检测属性被添加的限制。

4 Vue.delete( target, key )
参数
Object | Array target
string | number key/index
用法
删除对象的属性。如果对象是响应式的,确保删除能触发更新视图。这个方法主要用于避开 Vue 不能检测到属性被删除的限制,但是你应该很少会使用它。

5 Vue.directive( id, [definition] )
参数
string id
Function | Object [definition]

用法
注册或获取全局指令。

// 注册
Vue.directive('my-directive', 
  bind: function () ,
  inserted: function () ,
  update: function () ,
  componentUpdated: function () ,
  unbind: function () 
)

// 注册 (指令函数)
Vue.directive('my-directive', function () 
  // 这里将会被 `bind` 和 `update` 调用
)

// getter,返回已注册的指令
var myDirective = Vue.directive('my-directive')

6 Vue.filter( id, [definition] )
参数:
string id
Function [definition]

用法:
注册或获取全局过滤器。

// 注册
Vue.filter('my-filter', function (value) 
  // 返回处理后的值
)

// getter,返回已注册的过滤器
var myFilter = Vue.filter('my-filter')

7 Vue.component( id, [definition] )
参数:
string id
Function | Object [definition]

用法:
注册或获取全局组件。注册还会自动使用给定的id设置组件的名称

// 注册组件,传入一个扩展过的构造器
Vue.component('my-component', Vue.extend( /* ... */ ))

// 注册组件,传入一个选项对象 (自动调用 Vue.extend)
Vue.component('my-component',  /* ... */ )

// 获取注册的组件 (始终返回构造器)
var MyComponent = Vue.component('my-component')

8 Vue.use( plugin )

参数:
Object | Function plugin

用法:
安装 Vue.js 插件。如果插件是一个对象,必须提供 install 方法。如果插件是一个函数,它会被作为 install 方法。install 方法将被作为 Vue 的参数调用。

当 install 方法被同一个插件多次调用,插件将只会被安装一次。

9 Vue.mixin( mixin )

参数:
Object mixin

用法:
全局注册一个混合,影响注册之后所有创建的每个 Vue 实例。插件作者可以使用混合,向组件注入自定义的行为。不推荐在应用代码中使用。

10 Vue.compile( template )
参数:
string template

用法:
在 render 函数中编译模板字符串。只在独立构建时有效

var res = Vue.compile('<div><span> msg </span></div>')

new Vue(
  data: 
    msg: 'hello'
  ,
  render: res.render,
  staticRenderFns: res.staticRenderFns
)

11 vue.version

细节:提供字符串形式的 Vue 安装版本号。这对社区的插件和组件来说非常有用,你可以根据不同的版本号采取不同的策略。

用法:

var version = Number(Vue.version.split('.')[0])

if (version === 2) 
  // Vue v2.x.x
 else if (version === 1) 
  // Vue v1.x.x
 else 
  // Unsupported versions of Vue

need again

以上是关于全局配置(Vue.extend( options ))的主要内容,如果未能解决你的问题,请参考以下文章

Vue 基础知识之 Vue.extend

Vue挂在全局组件的两种方法

Vue 全局API 详细介绍(nextTicksetdelete......)

使用vue的extend自定义组件开发

Vue2.0笔记——组件

vue-learning:24 - component - 目录