收藏
回答

wxs有没有方法能够设置元素的dataset啊

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 wxs 客户端 7.0.3 2.6.0

- 需求的场景描述(希望解决的问题)

wxs在列表渲染的情况下数据仍是共享的,但也因为数据共享要根据列表项进行单独操作也无能为力了啊,

而且传过来的instance都是复制的,包括获取的元素也是复制的,直接在元素上添加数据无法直接影响源元素

总之就是想要单一操作列表渲染项就会变得复杂起来,虽然可以用callMethod进行逻辑层操作更新数据但感觉就是不好。。。


说了那么多废话举个例子:

比如列表渲染一个通过操作class进行显示隐藏的组件

元素直接通过wxs进行获取并且调用相应的class方法进行控制,

原则上每个组件的显示隐藏都由一个独立的布尔值控制,

但因为各种原因wxs就是没能力为每个列表渲染项产生独立的布尔值进行单独的控制


- 希望提供的能力

所以说什么时候能提供一个对元素设置dataset的方法啊,如果有这个方法进行这类的操作就方便很多了。。

本来想着没设置dataset方法起码可以获取相应的style进行相应的操作但是偏偏就是没有啊

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

3 个回答

  • 轻兔小程序服务商
    轻兔小程序服务商
    2019-02-18

    样式的变化依然可以通过 data的渲染来改变的  思路不一样而已

    改变dom的粗暴方式 不适用于小程序

    2019-02-18
    有用 1
    回复 2
    • 2019-02-18


      2019-02-18
      回复
    • 轻兔小程序服务商
      轻兔小程序服务商
      2019-02-18回复


      2019-02-18
      2
      回复
  • 杨泉
    杨泉
    2019-02-18

    为什么要走回jquery的直接修改dom的老路上去?


    所有mvvm的核心都是data---> view


    这么掺杂着来,随时都是隐患

    2019-02-18
    有用 1
    回复 5
    • 2019-02-18

       但官方不是推荐用wxs直接操作样式吗,主要是由于setData存在通信时间和造成阻塞才推荐用wxs的吧

      2019-02-18
      回复
    • 2019-02-18

      像如果要监听touchmove那种把事件绑定到逻辑层再用setData去更新数据,那过于频繁操作setData问题不是很严重吗,关于官方给的wxs示例直接把事件绑到wxs那直接操作dom的样式

      2019-02-18
      回复
    • 杨泉
      杨泉
      2019-02-18

      wxs其实说白了主要用于wxml页面里面做一些数据渲染helper

      例如做一些时间样式格式化等等等等

      拿来操作样式是不可取的、



      2019-02-18
      1
      回复
    • 2019-02-18

      但是官方给的示例就是操作样式。。。虽然方法屈指可数,他的意思是你们不要把touchmove之类频繁操作setData的方法放到逻辑层,用我的wxs就可以操作样式了

      2019-02-18
      回复
    • 2019-02-18回复杨泉

      就比如说哪怕通过touchmove动态地去更新视图层的一个dom元素的透明度都不得不频繁得操作setData

      2019-02-18
      回复
  • 2019-02-16

    还有虽然说这种操作虽然可以通过逻辑层实现,但视图层和逻辑层的通信是要时间的啊。。。可能是我太钻牛角尖了偏偏想消除这种通信时间

    2019-02-16
    有用
    回复
登录 后发表内容