由于审核机制问题,微信小程序的能力受到一定的限制,开发时要避免使用,会造成编译失败或运行问题。
没有$w
(即window对象)。
不能操作DOM元素, 所以不能用$()
、$el
也用途不大。一般通过动态类名和动态样式实现类似功能。
小程序支持的元素少很多,大部分都转换成view和text。
不能跳转到外部网页。
无法服务器端渲染,request表达式将合并到ready一并执行。
全局样式选择器*
被禁用。
小程序对中文支持不好,避免在类名、变量名、字段名等命名中使用中文。
小程序的富文本编辑器【editor】还比较弱,暂未支持。
小程序不支持svg元素,一个替代方案是转换成CSS背景,比如点赞图标:
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'><g fill='rgb(9, 187, 7)'><path d='M0 995.046h199.15V397.948H0v597.098z m1094.62-547.31a99.928 99.928 0 0 0-99.574-99.576h-313.91l47.316-227.399v-15.89A74.858 74.858 0 0 0 706.56 52.26L655.36 0 328.033 328.033a97.457 97.457 0 0 0-29.307 70.62V895.47a99.928 99.928 0 0 0 99.575 99.576h449.147a98.869 98.869 0 0 0 91.454-60.734l150.422-350.632a98.163 98.163 0 0 0 7.062-35.31v-96.044l-1.765-4.59z'/></g></svg>");
background-repeat: no-repeat;
width: 18px;
height: 15px;
小程序不支持audio元素,一个替代方案是转换成表达式,如:
$v.audio = wx.createInnerAudioContext()
$v.audio.src = "https://a.zccdn.cn/l/60d6a1cd4e50bf42d38ee948.wav"
$v.audio.play()
欢迎反馈其它限制