收藏
回答

问一下wxs使用setstyle给标签赋值 是会和花括号赋值的方式冲突吗?

第一步是在js中默认的值,wxml中能够得到

第二步是wxs修改标签的样式,能得到

第三步修改data的值,但wxml无法响应

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

2 个回答

  • 能闹不能闹
    能闹不能闹
    2021-08-10

    页面中的目标标签最先通过花括号拿到data中的值;

    在使用wxs中的setstyle给目标标签修改了值之后,无法再次通过花括号拿到data中的值(此时怎么不管data的值怎么改,页面中目标标签的top都改不了),是因为wxs的setstyle与花括号赋值 冲突吗

    2021-08-10
    有用
    回复 3
    • 能闹不能闹
      能闹不能闹
      2021-08-10
      wxs中的setstyle是持续作用页面的吗,我不仅无法通过花括号获取data中修改的数据,甚至翻页后,因为还有一个标签的id和目标标签相同,它的top也变了
      2021-08-10
      回复
    • 能闹不能闹
      能闹不能闹
      2021-08-13
      问题解决了,文档里也说了wxs的优先级比js高,所有一旦调用wxs的setstyle后花括号就没法作用style了。
      解决办法是在wxs写一个监听方法(图一),wxml的任意便签(非display:none)应用方法,再在js中需要时修改对应的监听值(图三)。
      我用wxs是为了解决移动标签带来的setdata次数过多而卡顿的问题,上面我提的这个问题是为了回退操作时在js中修改标签的位置
      2021-08-13
      回复
    • 这是微信名
      这是微信名
      2022-05-09回复能闹不能闹
      这种写法,uniapp好像不支持啊
      2022-05-09
      回复
  • xplee
    xplee
    2021-08-10

    没看懂,wxs中怎么能('#img_1').setStyle这么写呢?竟然不报错?

    2021-08-10
    有用
    回复 1
    • 能闹不能闹
      能闹不能闹
      2021-08-10
      我是写简单的,完整的是这样的
       ins.selectComponent(‘#img_1’).setStyle({top: 20+‘px’})
      2021-08-10
      回复
登录 后发表内容