小白学习Vue(3)--全局Api(Vue.set | Vue.directive | Vue.component等)
发布日期:2021-05-08 02:04:43 浏览次数:18 分类:精选文章

本文共 1437 字,大约阅读时间需要 4 分钟。

3. 全局Api:

全局:任何地方都可以使用

 3-1. Vue.set()&&Vue.delete()

Vue.set( target, propertyName/index, value )

Vue.delete( target, propertyName/index )

Vue.set给目标target的属性设置值,注意target不能是Vue实例(即this),或Vue实例的root数据对象

Vue.delete删除目标target的属性,  注意target不能是Vue实例(即this),或Vue实例的root数据对象

position: { {work.position}}

 3-2. Vue.directive( id, [definition] )

用于自定义指令,id为指令名称(如自定义v-focus指令,此id为focus);definition为支持的钩子选项

此处用了inserted钩子函数,语义是:被绑定的元素插入父节点(dom)时调用;此外还可以使用bind等钩子

钩子函数参数:

 el:指令锁绑定的元素,可以用来直接操作DOM。
 binding:一个对象,包含以下property属性:
  | name:指令名,不包括"v-"前缀。
  | value:指令的绑定值,如v-focus=“1”,此值为1
  | oldValue:指令的绑定的前一个值,仅在update和componentUpdate钩子可用
  | 此外还有expression、arg、modifiers属性

 3-3. Vue.filter( id, [definition] )

自定义过滤器,可以用于一些常见的文本格式化

过滤器可以用在插值{}}和v-bind表达式;格式: 参数名|过滤器id… …

{ {message | defaultValue}}

悬停一会儿查看title
 3-4. Vue.component( id, [definition] )

Vue.component用来定义新组件,id为新组件名称,

任意地方使用会自动渲染模板template到dom,其中使用的参数count需要在data中声明,data只能使用函数形式

当点击按钮时,每个组件都会各自独立维护它的count。因为每用一次组件,就会有一个新的vue实例创建

props用来向子组件传递参数,这里自定义的组件就是子组件,即将"title1"传递给titleName,则在模板中可以获取值

【注意】:js中参数名要驼峰的形式,则html中对应参数名要写成kebab-case形式

 3-5. Vue.extend( options )

使用基础Vue构造器,创建一个"子类"

extend创建的是一个组件构造器,而不是一个具体组件实例,还需要通过new子类来挂载dom

 3-6. Vue.use( plugin )

用来安装插件,如果插件是一个对象,必须提供install方法

到时候用到再来补充

此外还有其他的全局api,但是感觉不常用,如Vue.version、Vue.observable等等。可以参考官网:

上一篇:小白学习Vue(4)--实例方法/事件(vm.$emit | vm.$on | vm.$once | vm.$off)
下一篇:小白学习Vue(2)--生命周期

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2025年04月06日 21时00分29秒