我正在尝试嵌套javascript对象:
Manager (singleton)
Tab Group
Tab
Trigger (Button)
Target (Panel)
Tab
Trigger
Target
Tab
Trigger
Target
Tab Group
...
在Trigger
和Target
个对象中,我需要有权访问父Tab
,祖父母Tab Group
和根Manager
。
一个选项:一次导航1个级别:
// in a Trigger
this.tab
this.tab.group
this.tab.group.manager
// in a Tab
this.group
this.group.manager
// and Group
this.manager
另一种选择:我可以直接访问它们:
// in a Trigger
this.tab
this.group
this.manager
这些都有意义吗?这似乎是一个常见的问题。像Underscore或Backbone这样的库有更好的解决方案吗? 通常的做法是将父项传递给构造函数中的子项吗?
编辑:发布并重新思考后,选项1似乎可以接受。任何人都可以确认吗?