收藏
回答

如何获取到页面滚动的位置后修改自定义组件的样式?

我知道可以用

//在逻辑层 page.js 里
onPageScroll(e) {
   //获取页面滚动的位置
   this.setData({pageTop: e.scrollTop})
},


但是疯狂绑定,性能会很不好。

所以就想使用 WXS,借由在wxml文件里使用

//page.wxml
<wxs module="test" src="./test.wxs"></wxs>
<page-meta bindscroll="{{test.onPageScroll}}" />


少了视图和逻辑层的通信 性能就会有所提升


但是这样还是在page里做的,不知道怎么跟自定义组件通信,我想修改的是 自定义组件“内”的样式,能做得到吗?


ps. 这个场景很常见,比如导航栏是自定义组件的,当页面往下滚动时,就把导航栏往上推;等到用户往上滑时,再把导航栏推回来。

回答关注问题邀请回答
收藏

1 个回答

  • 何以为歌
    何以为歌
    2020-01-12

    就你最后一句话,可以用css控制啊,只要判断用户是上划还是下滑,隐藏或者显示不就行了

    2020-01-12
    有用
    回复
登录 后发表内容
问题标签