提交 11ae41b3 编写于 作者: Q qiang

docs: 移除已过期编译模式文档

上级 59554fbd
......@@ -868,7 +868,6 @@ code|message|
- 多次调用 `RewardedVideoAd.onLoad()``RewardedVideoAd.onError()``RewardedVideoAd.onClose()` 等方法监听广告事件会产生多次事件回调,建议在创建广告后监听一次即可。
- 为避免滥用广告资源,目前每个用户每天可观看激励式视频广告的次数有限,建议展示广告按钮前先判断广告是否拉取成功。
- App平台,建议每个广告商每个设备每天调用次数不超过`15`,中间要有间隔时间,否则可能触发系统的反作弊策略导致流量收益下降。
- 老版非V3编译项目不支持激励视频。
### 案例参考
- [全民董事长](https://android.myapp.com/myapp/detail.htm?apkName=com.dlt.qmdsz&info=DF3F955B42F0B77FECA41F03E7F77C8D)
......
......@@ -17,4 +17,3 @@
- 不同平台对于 console 方法的支持存在差异,建议在开发过程中只使用文档中提到的方法。
- HBuilderX中有2个重要的代码块,敲`clog`:可直接输出`console.log()`;敲`clogv`:可输出`console.log(": " + );`,并且出现双光标,方便把变量名称和值同时打印出来。
- HBuilderX 1.9.7 以上在App端支持打印对象信息到控制台。老版本可使用`clogj`代码块将json对象转为字符串打印出来。
......@@ -18,4 +18,3 @@ uni.onThemeChange(function (res) {
**注意**
- 自定义基座生效
\ No newline at end of file
- 仅 V3 编译支持,参考 manifest.json 配置
\ No newline at end of file
......@@ -39,7 +39,7 @@ export default {
},
onLoad() {
// #ifdef APP-PLUS
const currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
const currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
currentWebview.setBounce({position:{top:'100px'},changeoffset:{top:'0px'}}); //动态重设bounce效果
// #endif
}
......
......@@ -17,4 +17,3 @@
- 不同平台对于 console 方法的支持存在差异,建议在开发过程中只使用文档中提到的方法。
- HBuilderX中有2个重要的代码块,敲`clog`:可直接输出`console.log()`;敲`clogv`:可输出`console.log(": " + );`,并且出现双光标,方便把变量名称和值同时打印出来。
- HBuilderX 1.9.7 以上在App端支持打印对象信息到控制台。老版本可使用`clogj`代码块将json对象转为字符串打印出来。
......@@ -12,7 +12,7 @@ console.log(app.globalData)
**注意:**
- 不要在定义于 `App()` 内的函数中,或调用 `App` 前调用 `getApp()` ,可以通过 `this.$scope` 获取对应的app实例
- 通过 `getApp()` 获取实例之后,不要私自调用生命周期函数。
- v3模式加速了首页`nvue`的启动速度,当在首页`nvue`中使用`getApp()`不一定可以获取真正的`App`对象。对此v3版本提供了`const app = getApp({allowDefault: true})`用来获取原始的`App`对象,可以用来在首页对`globalData`等初始化
- 当在首页`nvue`中使用`getApp()`不一定可以获取真正的`App`对象。对此提供了`const app = getApp({allowDefault: true})`用来获取原始的`App`对象,可以用来在首页对`globalData`等初始化
### getCurrentPages()
......@@ -54,7 +54,7 @@ export default {
},
onLoad() {
// #ifdef APP-PLUS
const currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
const currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
currentWebview.setBounce({position:{top:'100px'},changeoffset:{top:'0px'}}); //动态重设bounce效果
// #endif
}
......
......@@ -83,7 +83,6 @@ App和微信小程序的ad组件没有type属性,可以用于banner,也可
- app-nvue 的 `<recycle-list>` 组件内不支持嵌套 `<ad>`
- 广点通概率出现重复广告,可根据需求请求广告数据,推荐单次大于1条(plus.ad.getAds) 来降低重复率
- HBuilderX2.8+版本Android平台更新穿山甲(今日头条)广告SDK后不再支持x86类型CPU,无法运行到x86类型cpu的模拟器。
- app-vue 页面使用 `<ad>` 必须使用v3编译器。如果使用HBuilderX 2.7以下版本,需注意开启v3编译模式。2.7以上版本已经淘汰了其他模式,无需关心本条。
- `<ad>` 组件测试广告位是上图下文,uniAD后台申请的广告位默认左图右文
- HBuilderX标准基座真机运行测试信息流广告位标识(adpid)为:1111111111
......
......@@ -104,7 +104,7 @@ App平台在iOS上,webview中的软键盘弹出时,默认在软键盘上方
this.$scope.$getAppWebview().setStyle({
softinputNavBar: 'none'
})
//this.$scope.$getAppWebview()相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
//this.$scope.$getAppWebview()相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
```
如果是nvue页面,iOS默认就没有键盘上方的横条,无需任何设置。
......@@ -129,7 +129,7 @@ App平台软键盘弹出有 adjustResize|adjustPan 两种模式,默认为 adju
- 小程序端在 input 聚焦期间,避免使用 css 动画。
- H5平台只能在用户交互时修改 focus 生效。
- 如果遇到 focus 属性设置不生效的问题参考:[组件属性设置不生效解决办法](/vue-api?id=_4-组件属性设置不生效解决办法)
- 如需禁止点击其他位置收起键盘的默认行为,可以监听`touch`事件并使用`prevent`修饰符(仅支持App-v3、H5,其他平台可以通过设置`focus`来使输入框重新获取焦点),例如在确认按钮上使用:```@touchend.prevent="onTap"```
- 如需禁止点击其他位置收起键盘的默认行为,可以监听`touch`事件并使用`prevent`修饰符(仅支持App、H5,其他平台可以通过设置`focus`来使输入框重新获取焦点),例如在确认按钮上使用:```@touchend.prevent="onTap"```
#### 关于软键盘收起的逻辑说明
......
......@@ -87,7 +87,7 @@ export default {
- H5 平台只能在用户交互时修改 focus 生效。
- 如果遇到 focus 属性设置不生效的问题参考:[组件属性设置不生效解决办法](/vue-api?id=_4-组件属性设置不生效解决办法)
- 软键盘的弹出和收起逻辑,详见[input的文档](/component/input?id=app%E5%B9%B3%E5%8F%B0ios%E7%AB%AF%E8%BD%AF%E9%94%AE%E7%9B%98%E4%B8%8A%E6%96%B9%E6%A8%AA%E6%9D%A1%E5%8E%BB%E9%99%A4%E6%96%B9%E6%A1%88)
- 如需禁止点击其他位置收起键盘的默认行为,可以监听`touch`事件并使用`prevent`修饰符(仅支持App-v3、H5,其他平台可以通过设置`focus`来使输入框重新获取焦点),例如在确认按钮上使用:```@touchend.prevent="onTap"```
- 如需禁止点击其他位置收起键盘的默认行为,可以监听`touch`事件并使用`prevent`修饰符(仅支持App、H5,其他平台可以通过设置`focus`来使输入框重新获取焦点),例如在确认按钮上使用:```@touchend.prevent="onTap"```
- js中给textarea组件赋值为字符串,在字符串中加\n可实现换行。
```
......
......@@ -67,7 +67,7 @@
- App 端使用 uni.web-view.js 的最低版为 [uni.webview.1.5.2.js](https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js)
- App 平台同时支持网络网页和本地网页,但本地网页及相关资源(js、css等文件)必须放在 `uni-app 项目根目录->hybrid->html` 文件夹下或者 `static` 目录下,如下为一个加载本地网页的`uni-app`项目文件目录示例:
- nvue `web-view` 必须指定样式宽高
- V3 编译模式,网页向应用 `postMessage` 为实时消息
- App 网页向应用 `postMessage` 为实时消息
- app-nvue `web-view` 默认没有大小,可以通过样式设置大小,如果想充满整个窗口,设置 `flex: 1` 即可,标题栏不会自动显示 `web-view` 页面中的 title。如果想充满整个窗口且想要显示标题推荐使用 vue 页面的 `web-view`(默认充满屏幕不可控制大小), 想自定义 `web-view` 大小使用 nvue `web-view`
<pre v-pre="" data-lang="">
......@@ -294,7 +294,7 @@ var wv;//计划创建的webview
export default {
onReady() {
// #ifdef APP-PLUS
var currentWebview = this.$scope.$getAppWebview() //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
var currentWebview = this.$scope.$getAppWebview() //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
setTimeout(function() {
wv = currentWebview.children()[0]
wv.setStyle({top:150,height:300})
......@@ -322,7 +322,7 @@ export default {
top:uni.getSystemInfoSync().statusBarHeight+44 //放置在titleNView下方。如果还想在webview上方加个地址栏的什么的,可以继续降低TOP值
})
wv.loadURL("https://www.baidu.com")
var currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
var currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
currentWebview.append(wv);//一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭
setTimeout(function() {
console.log(wv.getStyle())
......
......@@ -460,7 +460,7 @@ uni-app 提供内置 CSS 变量
- 支持 base64 格式图片。
- 支持网络路径图片。
- 小程序不支持在css中使用本地文件,包括本地的背景图和字体文件。需以base64方式方可使用。App端在v3模式以前,也有相同限制。v3编译模式起支持直接使用本地背景图和字体。
- 小程序不支持在css中使用本地文件,包括本地的背景图和字体文件。需以base64方式方可使用。
- 使用本地路径背景图片需注意:
1. 为方便开发者,在背景图片小于 40kb 时,``uni-app`` 编译到不支持本地背景图的平台时,会自动将其转化为 base64 格式;
2. 图片大于等于 40kb,会有性能问题,不建议使用太大的背景图,如开发者必须使用,则需自己将其转换为 base64 格式使用,或将其挪到服务器上,从网络地址引用。
......@@ -481,7 +481,7 @@ uni-app 提供内置 CSS 变量
- 支持 base64 格式字体图标。
- 支持网络路径字体图标。
- 小程序不支持在css中使用本地文件,包括本地的背景图和字体文件。需以base64方式方可使用。App端在v3模式以前,也有相同限制。v3编译模式起支持直接使用本地背景图和字体。
- 小程序不支持在css中使用本地文件,包括本地的背景图和字体文件。需以base64方式方可使用。
- 网络路径必须加协议头 ``https``。
- 从 [http://www.iconfont.cn](http://www.iconfont.cn) 上拷贝的代码,默认是没加协议头的。
- 从 [http://www.iconfont.cn](http://www.iconfont.cn) 上下载的字体文件,都是同名字体(字体名都叫iconfont,安装字体文件时可以看到),在nvue内使用时需要注意,此字体名重复可能会显示不正常,可以使用工具修改。
......@@ -1232,7 +1232,7 @@ export default {
|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序|QQ小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√(2.5.5+,仅支持vue,并要求v3编译器)|√|x|x|x|x|x|
|√(2.5.5+,仅支持vue)|√|x|x|x|x|x|
### 使用方式
......
......@@ -48,7 +48,7 @@ H5没有原生组件概念问题,非H5端有原生组件并引发了原生组
### H5正常但小程序异常的可能性
1. 同上
2. v-html在h5和app-vue(v3编译模式)均支持,但小程序不支持
2. v-html在h5和app-vue均支持,但小程序不支持
3. 小程序要求连接的网址都要配白名单
### 小程序正常但App异常的可能性
......@@ -70,11 +70,6 @@ vue页面在App端的渲染引擎默认是系统webview(不是手机自带浏
### App正常,小程序、H5异常的可能性
1. 代码中使用了App端特有的plus、Native.js、subNVue、原生插件等功能
### App(v2)与App(v3)差异说明
1. App(v2)默认template中使用了未定义或未初始化的数据,运行不会报错,且不影响后续节点渲染。App(v3)运行时,会直接告警,并报错(标准的vue渲染逻辑,同H5),且影响后续节点数据的渲染,错误信息通常显示为`undefined is not an object, evaluating(xxx.xxx.xxx)`
2. App(v2)默认隔离组件样式(组件间样式不会互相影响),App(v3)版本默认不隔离。目前发现开发者v2升级v3反馈的样式问题大多由此导致,v3版本将于`2.6.14-alpha`进行调整默认隔离组件间样式。
### 使用 Vue.js 的注意
1. `uni-app` 基于`Vue 2.0`实现,开发者需注意Vue 1.0 -> 2.0 的使用差异,详见[从 Vue 1.x 迁移](https://cn.vuejs.org/v2/guide/migration.html)
......
......@@ -34,7 +34,7 @@ nvue的组件和API写法与vue页面一致,其内置组件还比vue页面内
7. 如深度使用```map```组件,建议使用nvue。除了层级问题,App端nvue文件的map功能更完善,和小程序拉齐度更高,多端一致性更好。
8. 如深度使用```video```,建议使用nvue。比如如下2个场景:video内嵌到swiper中,以实现抖音式视频滑动切换,例子见[插件市场](https://ext.dcloud.net.cn/search?q=%E4%BB%BF%E6%8A%96%E9%9F%B3);nvue的视频全屏后,通过```cover-view```实现内容覆盖,比如增加文字标题、分享按钮。
9. 直播推流:nvue下有```live-pusher```组件,和小程序对齐,功能更完善,也没有层级问题。
10. 对App启动速度要求极致化。App端v3编译器模式下,如果首页使用nvue且在manifest里配置fast模式,那么App的启动速度可以控制在1秒左右。而使用vue页面的话,App的启动速度一般是3秒起,取决于你的代码性能和体积。
10. 对App启动速度要求极致化。App端如果首页使用nvue且在manifest里配置fast模式,那么App的启动速度可以控制在1秒左右。而使用vue页面的话,App的启动速度一般是3秒起,取决于你的代码性能和体积。
但注意,在某些场景下,nvue不如vue页面,如下:
1. ```canvas```。nvue的canvas性能不高,尤其是Android App平台,所以这个组件干脆没有内置,而是需要单独引入。操作canvas动画,最高性能的方式是使用vue页面的renderjs技术,在hello uni-app里的canvas示例就是如此。
......
......@@ -140,9 +140,9 @@ Android上popin动画时,老窗体会有一个半透明消失的效果。这
##### 优化启动速度
* 工程代码越多,包括背景图和本地字体文件越大,对小程序启动速度有影响,应注意控制体积。<image>组件引用的前景图不影响性能。app端在v3以前也存在和小程序一样的问题,但v3起解决了这个问题。
* 工程代码越多,包括背景图和本地字体文件越大,对小程序启动速度有影响,应注意控制体积。<image>组件引用的前景图不影响性能。
* App端的 splash 关闭有白屏检测机制,如果首页一直白屏或首页本身就是一个空的中转页面,可能会造成 splash 10秒才关闭,可参考此文解决[https://ask.dcloud.net.cn/article/35565](https://ask.dcloud.net.cn/article/35565)
* App端使用v3编译器,首页为nvue页面时,并设置为[fast启动模式](https://ask.dcloud.net.cn/article/36749),此时App启动速度最快。
* App端,首页为nvue页面时,并设置为[fast启动模式](https://ask.dcloud.net.cn/article/36749),此时App启动速度最快。
* App设置为纯nvue项目(manifest里设置app-plus下的renderer:"native"),这种项目的启动速度更快,2秒即可完成启动。因为它整个应用都使用原生渲染,不加载基于webview的那套框架。
##### 优化包体积
......@@ -151,5 +151,4 @@ Android上popin动画时,老窗体会有一个半透明消失的效果。这
* uni-app的H5端,自带了vue.js、vue-router及部分es6 polyfill库,这部分的体积gzip后只有92k,和web开发使用vue基本一致。而内置组件ui库(如picker、switch等)、小程序的对齐js api等,相当于一个完善的大型ui库。但大多数应用不会用到所有内置组件和API。由此uni-app提供了摇树优化机制,未摇树优化前的uni-app整体包体积约500k,服务器部署gzip后162k。开启摇树优化需在manifest配置,[详情](https://uniapp.dcloud.io/collocation/manifest?id=optimization)
* uni-app的App端,因为自带了一个独立v8引擎和小程序框架,所以比HTML5Plus或mui等普通hybrid的App引擎体积要大。Android基础引擎约9M。App还提供了扩展模块,比如地图、蓝牙等,打包时如不需要这些模块,可以裁剪掉,以缩小发行包体积。在 manifest.json-App模块权限 里可以选择。
* App端支持如果选择纯nvue项目(manifest里设置app-plus下的renderer:"native"),包体积可以进一步减少2M左右。
* App端在HBuilderX 2.7后,App端下掉了非v3的编译模式,包体积下降了3M。
* uni-app的App-Android端有so库的概念,支持不同的cpu类型的so库越多,包越大。在HBuilderX 2.7以前,Android app默认包含arm32和x86两个cpu的支持so库。包体积比较大。如果你在意体积控制,可以在manifest里去掉x86 cpu的支持(manifest可视化界面-App其他设置里选择cpu),这可以减少包体积到9M。从HBuilderX 2.7起,默认不再包含x86,如有需求请自行在manifest里勾选后打包。一般手机都是arm的,涉及x86 cpu场景很少,包括:个别少见的Android pad、as的模拟器里选择x86类型。
此差异已折叠。
......@@ -25,7 +25,7 @@
|Vue.set | 向响应式对象中添加一个 property,并确保这个新 property 同样是响应式的,且触发视图更新 [详情](https://cn.vuejs.org/v2/api/#Vue-set)|√ | √|√ | |
|Vue.delete | 删除对象的 property。如果对象是响应式的,确保删除能触发更新视图 [详情](https://cn.vuejs.org/v2/api/#Vue-delete) |√ | √ | √ | |
|Vue.directive | 注册或获取全局指令 [详情](https://cn.vuejs.org/v2/api/#Vue-directive)|√ |√ | x | |
|Vue.filter | 注册或获取全局过滤器 [详情](https://cn.vuejs.org/v2/api/#Vue-filter)|√ |√ | x |App端旧版不可以在class中使用 |
|Vue.filter | 注册或获取全局过滤器 [详情](https://cn.vuejs.org/v2/api/#Vue-filter)|√ |√ | x | |
|Vue.component | 注册或获取全局组件。注册还会自动使用给定的 id 设置组件的名称 [详情](https://cn.vuejs.org/v2/api/#Vue-component) |√ | √ | √ | |
|Vue.use | 安装 Vue.js 插件 [详情](https://cn.vuejs.org/v2/api/#Vue-use) |√ | √ | √ | |
|Vue.mixin | 全局注册一个混入,影响注册之后所有创建的每个 Vue 实例 [详情](https://cn.vuejs.org/v2/api/#Vue-mixin) |√ |√ | √ | |
......@@ -39,7 +39,7 @@
|Vue 选项 |描述 |H5 |App端|微信小程序 |说明 |
| -- | -- | -- |-- |-- | -- |
|data | Vue 实例的数据对象 [详情](https://cn.vuejs.org/v2/api/#data) |√ |√ | √ | |
|props | props 可以是数组或对象,用于接收来自父组件的数据 [详情](https://cn.vuejs.org/v2/api/#props) |√ |√ | √ |App端旧版不可以传递函数 |
|props | props 可以是数组或对象,用于接收来自父组件的数据 [详情](https://cn.vuejs.org/v2/api/#props) |√ |√ | √ | |
|propsData | 创建实例时传递 props。主要作用是方便测试 [详情](https://cn.vuejs.org/v2/api/#propsData) |√ | √ | √ | |
|computed | 计算属性将被混入到 Vue 实例中 [详情](https://cn.vuejs.org/v2/api/#computed) |√ | √ | √ | |
|methods | methods 将被混入到 Vue 实例中 [详情](https://cn.vuejs.org/v2/api/#methods) |√ | √ | √ | |
......@@ -49,13 +49,13 @@
|render | 字符串模板的代替方案,该渲染函数接收一个 createElement 方法作为第一个参数用来创建 VNode。[详情](https://cn.vuejs.org/v2/api/#render) |√ | x | x | |
|renderError | 当 render 函数遭遇错误时,提供另外一种渲染输出,只在开发者环境下工作 [详情](https://cn.vuejs.org/v2/api/#renderError) |√ | x | x | |
|directives | 包含 Vue 实例可用指令的哈希表 [详情](https://cn.vuejs.org/v2/api/#directives) |√ | √ | x | |
|filters | 包含 Vue 实例可用过滤器的哈希表 [详情](https://cn.vuejs.org/v2/api/#filters) |√ | √ | √ |App端旧版不可以在class中使用 |
|filters | 包含 Vue 实例可用过滤器的哈希表 [详情](https://cn.vuejs.org/v2/api/#filters) |√ | √ | √ | |
|components | 包含 Vue 实例可用组件的哈希表 [详情](https://cn.vuejs.org/v2/api/#components) |√ | √ | √ | |
|parent | 指定已创建的实例之父实例,在两者之间建立父子关系 [详情](https://cn.vuejs.org/v2/api/#parent) |√ | √ | √ |不推荐 |
|mixins | 选项接收一个混入对象的数组 [详情](https://cn.vuejs.org/v2/api/#mixins) |√ | √ | √ | |
|extends | 允许声明扩展另一个组件 [详情](https://cn.vuejs.org/v2/api/#extends) |√ | √ | √ | |
|provide/inject | 允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在其上下游关系成立的时间里始终生效 [详情](https://cn.vuejs.org/v2/api/#provide-inject) |√ |√ | √ |App端旧版部分支持 |
|name | 允许组件模板递归地调用自身 [详情](https://cn.vuejs.org/v2/api/#name) |√ | √ | √ |App端旧版不支持递归组件 |
|provide/inject | 允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在其上下游关系成立的时间里始终生效 [详情](https://cn.vuejs.org/v2/api/#provide-inject) |√ |√ | √ | |
|name | 允许组件模板递归地调用自身 [详情](https://cn.vuejs.org/v2/api/#name) |√ | √ | √ | |
|delimiters | 改变纯文本插入分隔符 [详情](https://cn.vuejs.org/v2/api/#delimiters) |√ |x | x | |
|functional | 使组件无状态 (没有 data) 和无实例 (没有 this 上下文) [详情](https://cn.vuejs.org/v2/api/#functional) |√ | x | x | |
|model | 允许一个自定义组件在使用 v-model 时定制 prop 和 event [详情](https://cn.vuejs.org/v2/api/#model) |√ |√ | x | |
......@@ -99,10 +99,10 @@
|vm.$parent | 父实例,如果当前实例有的话 [详情](https://cn.vuejs.org/v2/api/#vm-parent) |√ |√ | √ |H5端 `view``text` 等内置标签是以 Vue 组件方式实现,`$parent` 会获取这些到内置组件,导致的问题是 `this.$parent` 与其他平台不一致,解决方式是使用 `this.$parent.$parent` 获取或自定义组件根节点由 `view` 改为 `div`|
|vm.$root | 当前组件树的根 Vue 实例 [详情](https://cn.vuejs.org/v2/api/#vm-root) |√ | √ | √ | |
|vm.$children | 当前实例的直接子组件 [详情](https://cn.vuejs.org/v2/api/#vm-children) |√ | √ | √ |H5端 `view``text` 等内置标签是以 Vue 组件方式实现,`$children` 会获取到这些内置组件,导致的问题是 `this.$children` 与其他平台不一致,解决方式是使用 `this.$children.$children` 获取或自定义组件根节点由 `view` 改为 `div`|
|vm.$slots | 用来访问被插槽分发的内容 [详情](https://cn.vuejs.org/v2/api/#vm-slots) |√ | x | √ |App端旧版获取值为{'slotName':true/false}比如:{"footer":true} |
|vm.$scopedSlots | 用来访问作用域插槽 [详情](https://cn.vuejs.org/v2/api/#vm-scopedSlots) |√ | √ | √ |App端旧版获取值为{'slotName':true/false}比如:{"footer":true} |
|vm.$slots | 用来访问被插槽分发的内容 [详情](https://cn.vuejs.org/v2/api/#vm-slots) |√ | x | √ | |
|vm.$scopedSlots | 用来访问作用域插槽 [详情](https://cn.vuejs.org/v2/api/#vm-scopedSlots) |√ | √ | √ | |
|vm.$refs | 一个对象,持有注册过 ref attribute 的所有 DOM 元素和组件实例[详情](https://cn.vuejs.org/v2/api/#vm-refs) |√ | √ | √ |非H5端只能用于获取自定义组件,不能用于获取内置组件实例(如:view、text) |
|vm.$isServer | 当前 Vue 实例是否运行于服务器 [详情](https://cn.vuejs.org/v2/api/#vm-isServer) |√ | √ | x |App端V3总是返回false |
|vm.$isServer | 当前 Vue 实例是否运行于服务器 [详情](https://cn.vuejs.org/v2/api/#vm-isServer) |√ | √ | x |App端总是返回false |
|vm.$attrs | 包含了父作用域中不作为 prop 被识别 (且获取) 的 attribute 绑定 [详情](https://cn.vuejs.org/v2/api/#vm-attrs) |√ | √ | x | |
|vm.$listeners | 包含了父作用域中的 (不含 .native 修饰器的) v-on 事件监听器 [详情](https://cn.vuejs.org/v2/api/#vm-listeners) |√ | √ | x | - |
......@@ -146,7 +146,7 @@
|v-else-if| 表示 v-if 的“else if 块”。可以链式调用 [详情](https://cn.vuejs.org/v2/api/#v-else-if) |√ | √ | √ | |
|v-for | 基于源数据多次渲染元素或模板块 [详情](https://cn.vuejs.org/v2/api/#v-for) |√ | √ | √ | |
|v-on | 绑定事件监听器 [详情](https://cn.vuejs.org/v2/api/#v-on) |√ | √ | √ | |
|v-bind | 动态地绑定一个或多个 attribute,或一个组件 prop 到表达式 [详情](https://cn.vuejs.org/v2/api/#v-bind) |√ | √ | √ |App端旧版不支持v-bind="{key:value}"类似用法 |
|v-bind | 动态地绑定一个或多个 attribute,或一个组件 prop 到表达式 [详情](https://cn.vuejs.org/v2/api/#v-bind) |√ | √ | √ | |
|v-model| 在表单控件或者组件上创建双向绑定 [详情](https://cn.vuejs.org/v2/api/#v-model) |√ | √ | √ | |
|v-pre | 跳过这个元素和它的子元素的编译过程 [详情](https://cn.vuejs.org/v2/api/#v-pre) |√ | √ | x | |
|v-cloak| 这个指令保持在元素上直到关联实例结束编译 [详情](https://cn.vuejs.org/v2/api/#v-cloak) |√ | x | x | |
......@@ -160,7 +160,7 @@
|特殊属性 |描述 |H5 |App端|微信小程序 |说明 |
| -- | -- | -- |-- |-- | -- |
|key | 主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes [详情](https://cn.vuejs.org/v2/api/#key) |√ | √ | √ |App端旧版不支持表达式 |
|key | 主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes [详情](https://cn.vuejs.org/v2/api/#key) |√ | √ | √ | |
|ref | ref 被用来给元素或子组件注册引用信息 [详情](https://cn.vuejs.org/v2/api/#ref) |√ | √ | √ |非 H5 平台只能获取 vue 组件实例不能获取到内置组件实例|
|is | 用于动态组件且基于 DOM 内模板的限制来工作 [详情](https://cn.vuejs.org/v2/api/#is) |√ | √ | x | - |
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册