Javascript,访问一个主要对象内的每个对象 - 模块模式

时间:2016-05-18 10:27:43

标签: javascript singleton javascript-objects

我创建了一个小组件,遍历所有选择元素并从中创建无序列表,以便我可以轻松地设置它。一切都像我想要的那样工作。这是脚本: https://github.com/goranefbl/softdrop

你像这样开火:

SoftDrop.init({
  selector:'input_select',
  mobile:true
});

并循环遍历每个" input_select"元素并为其创建新节点。但这只是一个单一的对象,我没有办法访问例如特定的select元素,如果我想将一个项目推送到它,或者用一些公共方法关闭它。

对于每个元素,我都在添加data-softdrop =" i"对它来说,这样我就可以轻松地将其作为目标:

document.querySelectorAll("[data-softdrop='i']")

它有效。但是,如果我想从组件内部执行此操作,请执行以下操作:

var selects = SoftDrop.init({
      selector:'input_select',
      mobile:true
    });

selects.data('something').open();

我该怎么做呢?我会在顶部和forEach调用期间创建一些对象数组,将其推送到那里,然后访问它如何?能够在特定的选择元素上使用公共方法。

谢谢

1 个答案:

答案 0 :(得分:0)

实现此目的的一种方法是在组件内创建一个data对象,并将每个条目作为属性添加到此对象,例如像这样:

data['something'] = myElement;

然后,稍后,您可以再次访问该元素并在其上调用方法,例如

data['something'].open();

这是你的想法吗?