mipengine / mip2

MIP (移动网页加速器)通过优化网页JS、控制资源加载顺序,达到加速网页的效果。
https://www.mipengine.org/
MIT License
184 stars 49 forks source link

on="eventName: MIP.setData" 操作中接收不到事件的暴露的数据 #608

Closed zoumiaojiang closed 5 years ago

zoumiaojiang commented 5 years ago

BUG 描述<mip-a> 组件中通过 eventAction 触发的事件,如下:

MIP.viewer.eventAction.execute('select', this.element, {
  targetOption: 'a',
  selectedOptions: ['a', 'b', 'c']
})

在 HTML 中使用 setData 获取不到数据

<mip-a on="select:MIP.setData={
  targetOption: event.targetOption,
  selectedOptions: event.selectedOptions
}"><mip-a>

<!-- 如果要使用 m-text 获取并监听 setData 之后的数据,还需要先用 mip-data 标签申明一下,比较奇怪 -->
<mip-data>
  <script type="application/json">
  {
    targetOption: ''
    selectedOptions: []
  }
  </script>
</mip-data>

<span m-text="targetOption"></span>
<span m-text="selectedOptions.join(', ')"></span>

期望结果

能够在 on 机制的事件回调的 setData 方法中获取到事件指定暴露的数据

截图

环境及版本信息:

其他信息 其他补充信息