目前 data-api 存放在什么元素上,该元素就会被当成 widget 的 element
但 data-api 不一定仅存放在 widget element 上,还有可能存放在其他角色上,比如 trigger
因此可以考虑扩展:
<div data-element-role="{{data-element-role}}" data-xx=".."></div>
上面自动会构建:
new XX({
'{{element-role}}': "该 div 元素",
'xx': ...
})
目前 {{element-role}} 始终是 "element", 改成上面的方式后,就可以自定义了。
并且 data-api 也就可以存放在 widget 的非 element 元素上。