收藏
回答

wxs 变量赋值后,不能刷新到wxml?

//wxs 文件
var show = true;

var onIconClick = function (e, instance{
  show = !show;
}


function getShow() {
  return show;
}


module.exports = {
  show: show,
  onIconClick: onIconClick
}


<wxs module="wxs" src="./searchbar.wxs"></wxs>

<view class="search" style="width:{{wxs.getShow() ? 260:25}}px" >
    <view class="icon" bindtap="{{wxs.onIconClick}}"></view>
</view>
   


本想通过onIconClick 改变show 变量,show变量再影响页面style,现实wxml 一直是show的初始值false
用惯了react 以为小程序是可以的。还是我用错了? 这个变量只能放到js里? 


最后一次编辑于  2022-09-01
回答关注问题邀请回答
收藏

3 个回答

  • 三毛
    三毛
    2022-09-01

    看来没办办法,必须把这部分扔到js里。 统一到wxs是不现实的。

    2022-09-01
    有用
    回复
  • Frank
    Frank
    2022-09-01

    wxs的话,通常用来当成过滤器这种场景来用


    2022-09-01
    有用
    回复
  • 小黎
    小黎
    2022-09-01
    这也用不到wxs啊,直接bindtap改变show的值 bindtap="onIconClick",然后 style="width:{{show ?260:25}}px"  不就行了
    onIconClick() {
      this.setData({
        show = !this.data.show
      })
    }
    


    2022-09-01
    有用
    回复 1
    • 三毛
      三毛
      2022-09-01
      js 这个我知道,是可以,这不是用到wxs了吗,还有其他没有都贴代码出来, 这样保持js代码整洁了吗,逻辑都放在wxs, 要不两边都实现一部分。
      2022-09-01
      回复
登录 后发表内容