App
1. v-on="listeners"在input等内置组件上使用时
当需要修改listeners中的方法后再绑定时,必须在input上指定监听对象,如 还必须添加 @input 属性
2. 设置背景图片
内联样式中本地图片: app/H5 使用/static。 不能用~@ /static
3. 用组件式跳转,注意navigate 是block元素
4. 添加@click
父组件上,自定义组件时可以直接使用,但在自定义组件内部不能在template下第一个view上添加@click(ios 端不能不会触发)
5. margin-top出现滚动
将页面用flex布局即可 或者将最外层样式position设置为absoulte
6. template下必须用view组件包裹。
1.即便是封装uniUI组件也要用view包裹,不然会报页面找不到错误
2.有很大几率报错
7. webview 打开的 页面 内部路由响应退回响应手机额返回键
影响内部route返回事件,即路由队列中有多个页面是,返回键触发的是route返回事件。不是app原生返回事件。
不能返回上级,或者触发错误,则是router设置错误。app端不用改。
8. vue中data中不能定义太长的数组,编译时会报内存溢出,可以通过外部定义js,然后通过import引入
9. downloadTask.onProgressUpdate
获取下载上传 进度时,当要跟新视图中的值时,必须放在nextTick中
10. 跳转外部页面时
webview外通过plus方式
- let ws = plus.webview.currentWebview()
- ws.close() -uni.navigateBack() -先关闭页面再退回,不然会内存溢出
跳转时参数中有中文必须encode html页面必须decode
11. v-if
v-if元素包含 自定义子组件,当Boolean值发生改变时不会重新渲染子组距
12. android端页面跳转动画在下个页面的生命周期执行完才执行
13. ios app
由于iOS系统的墓碑原理,watch运行优先与mounted,或者mounted不再执行。导致ios安装路径执行默认值andriod
14. 布局
整个页面使用flex布局,同时设置了高度为100%,手机端造成样式重叠。,需要在页面中高度设置为auto
15. Error: Not Found:Page[5]
App端报这个错误,是因为数据层在与视图层交互的时候,数据丢失。在需要刷新视图的时候,用this.$forceUpdate(),如动态表单
16. 使用slot 渲染组件,在低端机器上会有延迟
17. 当view 设置高度为100%里面添加button元素,页面出现溢出可滑动!
采用flex布局
18. 关于scroll-view 中使用绝对定位,ios端会定位在scrollview内部,即所有的定位都是以scrollview的视图窗口作为起点
微信小程序
1.本地资源背景图片
① css文件中,本地资源图片无法通过 WXSS 获取,如background-image 属性。但可以使用网络图片,或者 base64,或者使用
标签。
真机:绝对路径 ,static前面不能有“/”
开发工具: 相对路径,或绝对路径,static前面必须有“/”)
利用uni.compressImage 将static中的图片转成url或者本地缓存文件路径。然后动态绑定到style中即可
iphone不支持
②折中方案,需要先调用 uni.getImageInfo将本地路径转成url路径。然后在动态绑定到内联样式上即可
2. slot 中子组件中的$parent指向
A:<view><slot/><view>
B: <view><A><slot/></A><view>
<B><C></C></B>
则C组件的$parent指向不是A而是B
H5 上$parent指向是A
3. listeners不支持
4. 新增页面 修改pages.json 都需要重启
5. 不支持esaycom从node_modules 模块引入
6. 作用域slot
父组件中slot元素必须用template包裹,同时必须v-slot接收传递的prop, 即便不用也要接受 ,不然不会渲染 小程序端 ,作用域slot中的元素绑定的事件无法得到响应 当slot作用域中是第三方组件时,组件的引入只能通过import+component的方式引入,esycom引入不会渲染
7. 自定义组件
所有的自定义组件,组件名都会被渲染成元素 在设置组件内容样式width:100%时,必须在所使用的组件元素名上也给加上。
eg:<my><view></view></my>
css的时候 height :100% 取得是my元素上的高度。需要对固有元素做全局处理
8. style动态绑定
小程序不支持style 直接绑定对象需要将对象包裹在数组中 :style="[customStyle]"
9. npm
npm 安装第三方ui 不能用cnpm 不然会出错
10. css
不支持在子组件上加class
/deep/只在页面组件中有效。组件中的/deep/无效
11. 父组件在自定义子组件上使用内联样式时不能用margin,会导致样式错位
这样会导致样式错误。需要修改直接在外包一层view元素
12. cavans 组件不支持在组件中渲染,只能在放在页面中才能执行相应的方法。
13. 其他组件的实例 不能用data中的值接收
接收外部传递进来的Vnode实例,小程序上不能放在data中
14. 组件v-model绑定传入的对象值时,需要将v-model改成 :value @input 不然默认值展示不出来
15. provide inject 不能在template中直接使用
16. 小程序不支持sync 修饰符
17. 不支持var(--)
18. 内敛样式不能使用 三元表达式。不能动态计算
19. css引入静态资源 ,
不支持本地图片的平台 即style中不能这样写
background-image: url(@/static/logo.png);
若要项目中必须用本地图片 则可以将图片手动转转base64,然后再引入即可