前端 MVVM 框架下 dataset 有什么使用场景?

请问前端 MVVM 框架下 dataset 有什么使用场景?

阅读 2.6k
3 个回答

可以作为性能优化的一种手段,以vue为例,如果一个点击事件需要传参,那么有的可能会这样写
<button @click="onClick('something parmas')">click</button>
只有一个还没什么,如果是多个button,都是同样的click回调,区别只是参数,那么如果还使用上述方式那么vue会创建多个函数,vue在检测事件绑定时如果绑定不是一个method句柄就会创建一个包裹函数,所以这时就可以把参数放在dataset上,然后将所有事件都使用method减少内存使用;
可以用vue sfc看看编译后的js,看看两种方式区别
https://sfc.vuejs.org/#eyJBcH...

还有一种优化就是事件委托,比如tab切换,只需要在父级绑定事件,通过target.dataset.?来获取当前点击的tab下标或id,减少事件的绑定

获取嘛?意义不大。

如果是赋值的话,我看你有写 vue。你可以 :data-id 之类的加上属性。

  1. 然后给css使用,属性选择器
  2. 也可以给其他框架使用。比如你用了jquery框架之类的。

我能想到的只有方便调试(可以直接在 dom 中看到数据),方便第三方插件读取 dom 数据
但没有什么复杂的场景需要使用这个吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题