【急】【功能需求】自定义组件内可以获取externalClasses获取的值
发布于 5 年前 作者 taoqian 19860 次浏览 来自 问答

最近在通过自定义组件实现一些特殊的功能,要求要拿到节点的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"

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

7 回复

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

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

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

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

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

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

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

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

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

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

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

顶一个!帖子不要沉!

回到顶部