来点现实中遇到的坑儿吧~~~~~~~~~~~解决前 心中有千万个草泥马在奔跑。解决后,kao 这么简单!!!!!!!!
1、项目需要用到slider时,容易触发到右滑切换到上一页的问题。
解决方法: 在json:
{ "enablePullDownRefresh": false, "disableScroll": true, "disableSwipeBack": true }
2、做了项目后,你会发现,更新无处不在。小程序的所有页面一打开就全部加载好的,所以我们就需要打开到哪,就setData到哪,,,,这里你会发现组件更新的重要性!!!幸好我们现在的框架就完全的支持到这一点,从item->list->tabs->…每个组件都对setData作了封装。更新解决了,后面你又会发现一次性更新所有的话,内容越多,反应越慢。不怕。这时我们还有指定某一条的更新。封装得到了findAndUpdate的方法
3、原生组件,层级太高,在开发者工具正常显示,所以很努力去折腾完善,…完成后在真机想炫耀一翻…妈啊,这是什么鬼东西!!自身折腾了目前已经有的canvas插件三个,只要你的页面需要滚动。这些插件就没有任何意义。这个问题官方目前没有很好的解决办法,后面想到的解决办法就是后端转成图片生成,前端这边读取就好了,可是呢,,说什么对服务器的要求很高,如果是实时的,体验更差。最后的最后,就是用到嵌h5的方式了
wxml:
<web-view src="{{url}}" bindmessage=""></web-view>
4、定位问题。需要在app.json里添加
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
}
5、顶部导航栏的背景色是可以修改的,自定义的。在app.json的
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#000",
"navigationBarTitleText": "Saui",
"navigationBarTextStyle": "white"
}
6、包太多?需要分包?:同样是app.json
"subpackages": [{
"root": "新建目录名称/",
"name": "saui",
"pages": [
"index/index",
"index2/index",
"index3/index"
]
}],
7、一个页面,组件之间的交互是无处不在的。在我们的框架中我们可以在组件里嵌组件。不仅可以写自己的组件, 也能自由的去嵌套别人已经写的组件。这个可以解决什么问题呢。在没有组件之间的嵌套,我们写业务时,会有n多个view 比如:关于我们。关于我们里面有文字,图片,文字还有下划画,小程序是不能写结构的,所以我们需要对文字有特殊处理的话,
静态式写法:
<view class='plr-default mt-90-r bg-linear'>
<view class="article-title mb-58-r">saui框架</view>
<view class="hbody">
<view class="article-content mb-58-r">虽然我们长得丑,但是我们很强大</view>
<view class="article-content mb-58-r">虽然我们长得丑,但是<text style='text-decoration:underline;'>我</text>,<text style='text-decoration:underline;'>们</text>,<text style='text-decoration:underline;'>很</text><text style='text-decoration:underline;'>强大</text> </view>
<view class="article-content mb-58-r">虽然我们长得丑,但是我们很强大</view>
<view class='hei-257-r'>
<image src="/images/about-pic2.png" />
</view>
</view>
</view>
组件式:(注:@html是用到了别人的wxParse,封装到我们的框架里)
wxml:
<ui-item item="{{aboutData}}" />
js:
data: {
aboutData: Pager.item({
'@html': <div class='plr-default mt-90-r bg-linear'><h2 class="article-title mb-58-r">saui框架</h2><p>xxxxxx</p></div>
})
}
8、显示弹出层的时候,滚动屏幕,底部会跟着滚动,这时。 我们能干什么呢。给scroll-view组件里 scroll-y一个变量,在js里显示弹出层时,去对这个组件作setDate。普通写法:
wxml:
<scroll-view scroll-y="{{isScrollx}}" class="scroll-wrap-nav">
js:
data: {isScrollx: true},
onReady: function(){
//弹出时
this.setData({isScrollx: false}).
}
9…待续
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。