taro icon indicating copy to clipboard operation
taro copied to clipboard

View 等标签需要支持自定义属性 如: data-xxx

Open soeasyjx opened this issue 3 years ago • 10 comments

这个特性解决了什么问题?

希望 View, Text 等标签 转后小程序后支持自定义的属性,目前转成小程序后自定义属性消失

这个 API 长什么样?

soeasyjx avatar Mar 29 '22 05:03 soeasyjx

一般可以换个语法解决的不建议用 data-

实在要用可以通过 @taro/plugin-inject 注入。

Chen-jj avatar Mar 29 '22 05:03 Chen-jj

一般可以换个语法解决的不建议用 data-

实在要用可以通过 @taro/plugin-inject 注入。

样式伪元素绑定属性值,需要使用到

.test::after{ content:attr(data-xxx); }

soeasyjx avatar Mar 29 '22 05:03 soeasyjx

一般可以换个语法解决的不建议用 data-。 实在要用可以通过 @taro/plugin-inject 注入。

样式伪元素绑定属性值,需要使用到

.test::after{ content:attr(data-xxx); }

你好,请问这个问题解决了吗?

hear-tide avatar Jul 21 '23 04:07 hear-tide

最新版本通过 CompileMode 可以实现把 data- 输出到 xml 模板上。

Chen-jj avatar Apr 15 '24 07:04 Chen-jj

最新版本通过 CompileMode 可以实现把 data- 输出到 xml 模板上。

怎么升级呢

s97712 avatar May 08 '24 03:05 s97712

最新版本通过 CompileMode 可以实现把 data- 输出到 xml 模板上。

字节小程序报错

编译错误 [Compile TTML error] Failed to resolve ttml src: can't find pages/index-templates.ttml
at pages/..\base.ttml (84:1)

82: </template>
83: 
84: <import src="pages/index-templates.ttml"/>

s97712 avatar May 08 '24 04:05 s97712

能不能在模板上设置这个属性啊,这不是原生都有的常规属性嘛?为啥要漏掉呢 我也是这种场景 content:attr(data-xxx);

lycHub avatar May 09 '24 06:05 lycHub

  • 用compileMode切了几个Taro版本始终存在这个问题
  • 使用@taro/plugin-inject可以,如果遇到动态值问题可以参考这个方案试试
  • 简化了个单独脚本,可以参考

├── config/ │ ├── index.js ├── plugins/ │ └── taro-plugin-text-data-content.js

taro-plugin-text-data-content.js

export default ctx => {
  ctx.registerMethod({
    name: 'onSetupClose',
    fn(platform) {
      const template = platform.template
      template.mergeComponents(ctx, {
        Text: {
          'data-content': 'i.dataContent'
        }
      })
    }
  })
}

index.js

const config = {
  plugins: [
    path.resolve(__dirname, '../plugins/taro-plugin-text-data-content.js')
  ]
}

RuanLight avatar Jun 28 '24 08:06 RuanLight

在我们的业务场景中,有很多的曝光埋点,比如首页商品流的曝光,需要使用IntersectionObserver监听.product-item元素,在observe回调中,只能获取到元素的属性,所以我们把曝光的商品id、名称等各种信息放在了data-*,属性,现在就不行了😭

zhang0ZGC avatar Sep 05 '24 08:09 zhang0ZGC

在我们的业务场景中,有很多的曝光埋点,比如首页商品流的曝光,需要我们IntersectionObserver监听使用.product-item元素,在观察回调中,只能获取到元素的属性,所以把曝光的商品id、等各种信息放到了data-*,属性,现在就不行了😭

我是通过IntersectionObserver做懒加载 data-xx也拿不到值 太难了

jc840031139 avatar Sep 18 '24 08:09 jc840031139