为了账号安全,请及时绑定邮箱和手机立即绑定

bootstrap源码中data()函数参数是什么意思?

bootstrap源码中data()函数参数是什么意思?

波斯汪 2019-02-14 18:13:09
最近在看bt的源码,发现里面很多都加了命名空间,data函数我不是很理解,如下代码(modal.js)function Plugin(option, _relatedTarget) {    return this.each(function () {      var $this   = $(this)      var data    = $this.data('bs.modal')      console.log($this.data())      var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)      if (!data) $this.data('bs.modal', (data = new Modal(this, options)))      if (typeof option == 'string') data[option](_relatedTarget)      else if (options.show) data.show(_relatedTarget)    })  }$this.data('bs.modal')的值一开始是为空的,后面$this.data('bs.modal', (data = new Modal(this, options)))给它赋值,赋给谁了?我看页面上也没这个值啊
查看完整描述

1 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

$this.data()这个本身是 jQuery 一个缓存数据的方法,可以把数据附加到 dom 上。

第一次调用 modal,初始化时,传入的 option 是配置,没有 modal 实例,所以 new 了一个放进$this.data('bs.modal'),这里面保存的就是这个 modal 实例。

之后再调用 modal,传入的 option 就是方法名了,就直接从$this.data('bs.modal')取出实例,然后data[option]调用方法。


查看完整回答
反对 回复 2019-02-25
  • 1 回答
  • 0 关注
  • 342 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信