快手小程序的开发日记

182 阅读1分钟

一、项目搭建:

1、可以通过微信小程序项目 利用快手开发者工具的“一步迁移”直接转过来

image.png

但是搬家之后可能会有很多编译问题,比如 a、编译出多余的空格 b、组件的引入路径必须是全路径 如下图

image.png

2、项目配置

a、page.onReachBottom 或onReady 等生命周期都不支持重写,onLoad和onShow可以 b、this.setData({ list: [] }, () => { // 获取通过list便利得到的dom元素可能会有问题 会获取不到,解决办法: 我用setTimeout将获取dom放在下一个事件循环里就好了 }) 文档上写的 并不准确

image.png

c、getCurrentPages

const pages = getCurrentPages()
const currentPage = pages[pages.length - 1]
console.log(currentPage.route)

打印得到“/pages/index/index” 带着“/“ 这块跟微信小程序存在差异,开发是需要注意一下

d、原生组件(textarea、input)等的层级问题 目前为最高 通过z-index解决不了(微信小程序目前已经解决)通过cover-view可以解决但是有些场景并不好用,所以我只能通过展示弹窗时 隐藏textarea来实现。

e、有一点需要注意 模版for循环

image.png

f、骨架屏-快手小程序不支持 可以在微信小程序上生成之后 拿过来当组件使用

g、组件属性被父组件更新后,dom没有渲染 需要observe

h、组件属性不会隐式转换类型,number会变为string

i、catchTouchMove和scroll-view配合使用 (scroll-y,无法滚动) 尽量避免一起使用 如果非要一起使用把catchTouchMove不要放在scroll-view的父级上 可以让遮罩和滚动区域同级