收藏
回答

【急】【功能需求】自定义组件内可以获取externalClasses获取的值

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 自定义组件 客户端 6.6.5 1.9.90

最近在通过自定义组件实现一些特殊的功能,要求要拿到节点的class值,但是我看官方的faq说暂不支持此项功能,这里不支持的原因是什么呢?


如果不能获取节点的class值,那能不能支持在自定义组件的内部获取到externalClasses取到的使用组件时传入的class值?例如定义

Component({
  externalClasses: ['my-class']
})

使用自定义组件时传入

<custom-component class="my-class">这段文本的颜色由组件外的 class 决定</custom-component>

页面使用自定义组件

<custom-component my-class="red-text bold-weight" />

然后在自定义组件的函数内可以像类似properties和data一样,通过this.externalClasses['my-class']获取到

"red-text bold-weight"

这个值呢?我现在真的强烈需要这个功能,否则开发起来就真的很麻烦。求微信的各位大佬支持!

最后一次编辑于  2018-03-21  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

7 个回答

  • 张彪
    张彪
    2018-03-22

    顶一个!帖子不要沉!

    2018-03-22
    赞同
    回复
  • LastLeaf
    LastLeaf
    2018-03-22

    感谢反馈。我们会考虑提供这个功能。请描述一下你用来实现什么具体功能场景。

    2018-03-22
    赞同
    回复
  • 张彪
    张彪
    2018-03-22

    我要实现无痕打点的功能。

    举个例子,下面这个页面结构:


    如果用开发者工具的选取元素功能选中它,那么底下的状态栏会显示:


    我要拿到这个"page view.topNav view.topNav__content"路径字符串,以便通过配置的方式实现点击时的打点需求,这样能减轻打点代码侵入业务代码的问题。我的需求大概就是这样,所以你们能提供这样的功能吗?

    2018-03-22
    赞同
    回复
  • LastLeaf
    LastLeaf
    2018-03-23

    明白你的需求了。我们会考虑一下相关特性。

    2018-03-23
    赞同
    回复
  • 张彪
    张彪
    2018-04-09

    你们考虑得怎么样了?可以提供这个功能吗?

    2018-04-09
    赞同
    回复
  • LastLeaf
    LastLeaf
    2018-04-09

    目前还没有收到其他开发者的类似反馈。暂时没有提供这个功能的计划。

    2018-04-09
    赞同
    回复
  • proto
    proto
    2018-05-14

    请问楼主的my-class是怎么做到传递多个class的,我这边测试好像只能传递一个class,楼主那样

    <custom-component my-class="red-text bold-weight" />

    貌似只会读取red-text,后面的bold-weight实现,还有externalClasses现在是不支持驼峰的写法的class吗?


    2018-05-14
    赞同
    回复 1
    • 张彪
      张彪
      2018-05-22
      我试过了,是可以读取多个class的,驼峰不驼峰的没试过,不过感觉也不重要。
      2018-05-22
      回复