我正在尝试嵌套 javascript 对象:
Manager (singleton)
Tab Group
Tab
Trigger (Button)
Target (Panel)
Tab
Trigger
Target
Tab
Trigger
Target
Tab Group
...
在Trigger
andTarget
对象中,我需要访问 parent Tab
、 grandparentTab Group
和 root 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 似乎可以接受。任何人都可以确认吗?