uniapp 各方法指令使用说明
全局配置
Vue 全局配置 | 描述 | H5 | App端 | 微信小程序 | 说明 |
---|---|---|---|---|---|
Vue.config.silent | 取消 Vue 所有的日志与警告 详情(opens new window) | √ | √ | √ | |
Vue.config.optionMergeStrategies | 自定义合并策略的选项 详情(opens new window) | √ | √ | √ | |
Vue.config.devtools | 配置是否允许 vue-devtools 检查代码 详情(opens new window) | √ | x | x | 只在Web环境下支持 |
Vue.config.errorHandler | 指定组件的渲染和观察期间未捕获错误的处理函数 详情(opens new window) | √ | √ | √ | |
Vue.config.warnHandler | 为 Vue 的运行时警告赋予一个自定义处理函数 详情(opens new window) | √ | √ | √ | |
Vue.config.ignoredElements | 须使 Vue 忽略在 Vue 之外的自定义元素 详情(opens new window) | √ | √ | √ | 强烈不推荐,会覆盖uni-app框架配置的内置组件 |
Vue.config.keyCodes | 给 v-on 自定义键位别名 详情(opens new window) | √ | x | x | |
Vue.config.performance | 设置为 true 以在浏览器开发工具的性能/时间线面板中启用对组件初始化、编译、渲染和打补丁的性能追踪 详情(opens new window) | √ | x | x | 只在Web环境下支持 |
Vue.config.productionTip | 设置为 false 以阻止 vue 在启动时生成生产提示 详情(opens new window) | √ | √ | √ | - |
全局 API
Vue 全局 API | 描述 | H5 | App端 | 微信小程序 | 说明 |
---|---|---|---|---|---|
Vue.extend | 使用基础 Vue 构造器,创建一个“子类” 详情(opens new window) | √ | √ | x | 不可作为组件使用 |
Vue.nextTick | 在下次 DOM 更新循环结束之后执行延迟回调 详情(opens new window) | √ | x | x | |
Vue.set | 向响应式对象中添加一个 property,并确保这个新 property 同样是响应式的,且触发视图更新 详情(opens new window) | √ | √ | √ | |
Vue.delete | 删除对象的 property。如果对象是响应式的,确保删除能触发更新视图 详情(opens new window) | √ | √ | √ | |
Vue.directive | 注册或获取全局指令 详情(opens new window) | √ | √ | x | |
Vue.filter | 注册或获取全局过滤器 详情(opens new window) | √ | √ | x | |
Vue.component | 注册或获取全局组件。注册还会自动使用给定的 id 设置组件的名称 详情(opens new window) | √ | √ | √ | |
Vue.use | 安装 Vue.js 插件 详情(opens new window) | √ | √ | √ | |
Vue.mixin | 全局注册一个混入,影响注册之后所有创建的每个 Vue 实例 详情(opens new window) | √ | √ | √ | |
Vue.version | 提供字符串形式的 Vue 安装版本号 详情(opens new window) | √ | √ | √ | |
Vue.compile | 将一个模板字符串编译成 render 函数。只在完整版时可用。详情(opens new window) | √ | x | x | uni-app使用的vue是只包含运行时的版本 |
选项
Vue 选项 | 描述 | H5 | App端 | 微信小程序 | 说明 |
---|---|---|---|---|---|
data | Vue 实例的数据对象 详情(opens new window) | √ | √ | √ | |
props | props 可以是数组或对象,用于接收来自父组件的数据 详情(opens new window) | √ | √ | √ | |
propsData | 创建实例时传递 props。主要作用是方便测试 详情(opens new window) | √ | √ | √ | |
computed | 计算属性将被混入到 Vue 实例中 详情(opens new window) | √ | √ | √ | |
methods | methods 将被混入到 Vue 实例中 详情(opens new window) | √ | √ | √ | |
watch | 一个对象,键是需要观察的表达式,值是对应回调函数 详情(opens new window) | √ | √ | √ | |
el | 提供一个在页面上已存在的 DOM 元素作为 Vue 实例的挂载目标 详情(opens new window) | √ | x | x | |
template | 一个字符串模板作为 Vue 实例的标识使用 详情(opens new window) | √ | x | x | uni-app使用的vue是只包含运行时的版本 |
render | 字符串模板的代替方案,该渲染函数接收一个 createElement 方法作为第一个参数用来创建 VNode。详情(opens new window) | √ | x | x | |
renderError | 当 render 函数遭遇错误时,提供另外一种渲染输出,只在开发者环境下工作 详情(opens new window) | √ | x | x | |
directives | 包含 Vue 实例可用指令的哈希表 详情(opens new window) | √ | √ | x | |
filters | 包含 Vue 实例可用过滤器的哈希表 详情(opens new window) | √ | √ | √ | |
components | 包含 Vue 实例可用组件的哈希表 详情(opens new window) | √ | √ | √ | |
parent | 指定已创建的实例之父实例,在两者之间建立父子关系 详情(opens new window) | √ | √ | √ | 不推荐 |
mixins | 选项接收一个混入对象的数组 详情(opens new window) | √ | √ | √ | |
extends | 允许声明扩展另一个组件 详情(opens new window) | √ | √ | √ | |
provide/inject | 允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在其上下游关系成立的时间里始终生效 详情(opens new window) | √ | √ | √ | |
name | 允许组件模板递归地调用自身 详情(opens new window) | √ | √ | √ | |
delimiters | 改变纯文本插入分隔符 详情(opens new window) | √ | x | x | |
functional | 使组件无状态 (没有 data) 和无实例 (没有 this 上下文) 详情(opens new window) | √ | x | x | |
model | 允许一个自定义组件在使用 v-model 时定制 prop 和 event 详情(opens new window) | √ | √ | x | |
inheritAttrs | inheritAttrs属性默认值为true,表示允许组件的根节点继承$attrs包含的属性 详情(opens new window) | √ | √ | x | |
comments | 当设为 true 时,将会保留且渲染模板中的 HTML 注释 详情(opens new window) | √ | x | x | - |
生命周期
生命周期钩子 | 描述 | H5 | App端 | 微信小程序 | 说明 |
---|---|---|---|---|---|
beforeCreate | 在实例初始化之后被调用 详情(opens new window) | √ | √ | √ | |
created | 在实例创建完成后被立即调用 详情(opens new window) | √ | √ | √ | |
beforeMount | 在挂载开始之前被调用 详情(opens new window) | √ | √ | √ | |
mounted | 挂载到实例上去之后调用 详情 (opens new window)注意:此处并不能确定子组件被全部挂载,如果需要子组件完全挂载之后在执行操作可以使用$nextTick 详情(opens new window) | √ | √ | √ | |
beforeUpdate | 数据更新时调用,发生在虚拟 DOM 打补丁之前 详情(opens new window) | √ | √ | √ | |
updated | 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子 详情(opens new window) | √ | √ | √ | |
activated | 被 keep-alive 缓存的组件激活时调用 详情(opens new window) | √ | √ | x | |
deactivated | 被 keep-alive 缓存的组件停用时调用 详情(opens new window) | √ | √ | x | |
beforeDestroy | 实例销毁之前调用。在这一步,实例仍然完全可用 详情(opens new window) | √ | √ | √ | |
destroyed | Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁 详情(opens new window) | √ | √ | √ | |
errorCaptured | 当捕获一个来自子孙组件的错误时被调用 详情(opens new window) | √ | √ | √ | - |
实例属性
Vue 实例属性 | 描述 | H5 | App端 | 微信小程序 | 说明 |
---|---|---|---|---|---|
vm.$data | Vue 实例观察的数据对象 详情(opens new window) | √ | √ | √ | |
vm.$props | 当前组件接收到的 props 对象 详情(opens new window) | √ | √ | √ | |
vm.$el | Vue 实例使用的根 DOM 元素 详情(opens new window) | √ | x | x | |
vm.$options | 用于当前 Vue 实例的初始化选项 详情(opens new window) | √ | √ | √ | |
vm.$parent | 父实例,如果当前实例有的话 详情(opens new window) | √ | √ | √ | H5端 view 、text 等内置标签是以 Vue 组件方式实现,$parent 会获取这些到内置组件,导致的问题是 this.$parent 与其他平台不一致,解决方式是使用 this.$parent.$parent 获取或自定义组件根节点由 view 改为 div |
vm.$root | 当前组件树的根 Vue 实例 详情(opens new window) | √ | √ | √ | |
vm.$children | 当前实例的直接子组件 详情(opens new window) | √ | √ | √ | H5端 view 、text 等内置标签是以 Vue 组件方式实现,$children 会获取到这些内置组件,导致的问题是 this.$children 与其他平台不一致,解决方式是使用 this.$children.$children 获取或自定义组件根节点由 view 改为 div |
vm.$slots | 用来访问被插槽分发的内容 详情(opens new window) | √ | x | √ | |
vm.$scopedSlots | 用来访问作用域插槽 详情(opens new window) | √ | √ | √ | |
vm.$refs | 一个对象,持有注册过 ref attribute 的所有 DOM 元素和组件实例详情(opens new window) | √ | √ | √ | 非H5端只能用于获取自定义组件,不能用于获取内置组件实例(如:view、text) |
vm.$isServer | 当前 Vue 实例是否运行于服务器 详情(opens new window) | √ | √ | x | App端总是返回false |
vm.$attrs | 包含了父作用域中不作为 prop 被识别 (且获取) 的 attribute 绑定 详情(opens new window) | √ | √ | x | |
vm.$listeners | 包含了父作用域中的 (不含 .native 修饰器的) v-on 事件监听器 详情(opens new window) | √ | √ | x | - |
实例方法
实例方法 | 描述 | H5 | App端 | 微信小程序 | 说明 |
---|---|---|---|---|---|
vm.$watch() | 观察 Vue 实例上的一个表达式或者一个函数计算结果的变化 详情(opens new window) | √ | √ | √ | |
vm.$set() | 这是全局 Vue.set 的别名 详情(opens new window) | √ | √ | √ | |
vm.$delete() | 这是全局 Vue.delete 的别名 详情(opens new window) | √ | √ | √ | |
vm.$on() | 监听当前实例上的自定义事件 详情(opens new window) | √ | √ | √ | |
vm.$once() | 监听一个自定义事件,但是只触发一次 详情(opens new window) | √ | √ | √ | |
vm.$off() | 移除自定义事件监听器 详情(opens new window) | √ | √ | √ | |
vm.$emit() | 触发当前实例上的事件 详情(opens new window) | √ | √ | √ | |
vm.$mount() | 手动地挂载一个未挂载的实例 详情(opens new window) | √ | x | x | |
vm.$forceUpdate() | 迫使 Vue 实例重新渲染 详情(opens new window) | √ | √ | √ | |
vm.$nextTick() | 将回调延迟到下次 DOM 更新循环之后执行 详情(opens new window) | √ | √ | √ | |
vm.$destroy() | 完全销毁一个实例 详情(opens new window) | √ | √ | √ | - |
模板指令
Vue 指令 | 描述 | H5 | App端 | 微信小程序 | 说明 |
---|---|---|---|---|---|
v-text | 更新元素的 textContent 详情(opens new window) | √ | √ | √ | |
v-html | 更新元素的 innerHTML 详情(opens new window) | √ | √ | x | 微信小程序会被转成 rich-text |
v-show | 根据表达式之真假值,切换元素的 display CSS属性 详情(opens new window) | √ | √ | √ | |
v-if | 根据表达式的值的 truthiness 来有条件地渲染元素 详情(opens new window) | √ | √ | √ | |
v-else | 为 v-if 或者 v-else-if 添加“else 块” 详情(opens new window) | √ | √ | √ | |
v-else-if | 表示 v-if 的“else if 块”。可以链式调用 详情(opens new window) | √ | √ | √ | |
v-for | 基于源数据多次渲染元素或模板块 详情(opens new window) | √ | √ | √ | |
v-on | 绑定事件监听器 详情(opens new window) | √ | √ | √ | |
v-bind | 动态地绑定一个或多个 attribute,或一个组件 prop 到表达式 详情(opens new window) | √ | √ | √ | |
v-model | 在表单控件或者组件上创建双向绑定 详情(opens new window) | √ | √ | √ | |
v-pre | 跳过这个元素和它的子元素的编译过程 详情(opens new window) | √ | √ | x | |
v-cloak | 这个指令保持在元素上直到关联实例结束编译 详情(opens new window) | √ | x | x | |
v-once | 只渲染元素和组件一次 详情(opens new window) | √ | √ | x | - |
特殊属性
特殊属性 | 描述 | H5 | App端 | 微信小程序 | 说明 |
---|---|---|---|---|---|
key | 主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes 详情(opens new window) | √ | √ | √ | |
ref | ref 被用来给元素或子组件注册引用信息 详情(opens new window) | √ | √ | √ | 非 H5 平台只能获取 vue 组件实例不能获取到内置组件实例 |
is | 用于动态组件且基于 DOM 内模板的限制来工作 详情(opens new window) | √ | √ | x | - |
内置组件
内置组件 | 描述 | H5 | App端 | 微信小程序 | 说明 |
---|---|---|---|---|---|
component | 渲染一个“元组件”为动态组件。依 is 的值,来决定哪个组件被渲染 详情(opens new window) | √ | √ | x | |
transition | 作为单个元素/组件的过渡效果 详情(opens new window) | √ | x | x | |
transition-group | 作为多个元素/组件的过渡效果 详情(opens new window) | √ | x | x | |
keep-alive | 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们 详情(opens new window) | √ | x | x | |
slot | 作为组件模板之中的内容分发插槽 详情(opens new window) | √ | √ | √ | - |
template | 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性 详情(opens new window) | √ | √ | √ | - |
蓦然、回首,那人就在灯火阑珊处