Javascript 是否有需要管理的设计模式;“层叠选择”;容易吗?
我正在用HTML和javascript为一些浏览器应用程序制作GUI 目前,我面临的挑战是实现一个页面,其中需要进行三级深度“级联选择”。我只是想知道是否有一种设计模式可以让我的代码更易于管理,因为这不是一个很少见的问题 我需要实现的结构如下:Javascript 是否有需要管理的设计模式;“层叠选择”;容易吗?,javascript,design-patterns,hierarchy,cascadingdropdown,Javascript,Design Patterns,Hierarchy,Cascadingdropdown,我正在用HTML和javascript为一些浏览器应用程序制作GUI 目前,我面临的挑战是实现一个页面,其中需要进行三级深度“级联选择”。我只是想知道是否有一种设计模式可以让我的代码更易于管理,因为这不是一个很少见的问题 我需要实现的结构如下: { A => { B => [C, C, ...] } 我将大致使用以下GUI布局(由以下组件制成): 问题是,正如您所看到的,视图的某些部分一直被隐藏/删除,除此之外,我需要在页面的生命周期中存储更改。它不像模型那么简单,因为我不使用只
{ A => { B => [C, C, ...] }
我将大致使用以下GUI布局(由以下组件制成):
问题是,正如您所看到的,视图的某些部分一直被隐藏/删除,除此之外,我需要在页面的生命周期中存储更改。它不像模型那么简单,因为我不使用只是多选来处理一切
您通常如何解决此类问题?只需将每个列表放入json容器中即可
然后在该列表上放置一个单击侦听器,并将特定的json项添加到下一个列表中
//// PSEUDOCODE ////
var json{
"a": {
"a1": {
"b1": "item",
"b2": "item",
"b4": "item"
},
"a2": {
//stuff
}
},
"b":{
"b1": "items"
//etc
}
}
select(){
var item = clickedItem.id;
case: a
putintoB(json.item)
case: b
putintoC(json.item)
}
这不会使很多事情自动化,但对于
Observer
模式来说似乎是个问题
基本上,你会有一个观察者观察第一个选择的动作,而不是另一个观察第二个选择的动作,依此类推
当一个观察者收到通知时,它将采取行动,例如显示另一个选择
这只是一个原始的想法,如果不进一步了解您正在尝试做什么,很难给您提供更详细的建议。这显然是最基本的,但这对我帮助不大……请尝试将这两个“教程”混在一起。。。希望它能起作用我感谢你的努力,但我的问题远不止于此,我已经知道JSON是如何工作的,我对javascript也很满意。我没有被卡住,我只是想征求关于如何继续这方面的建议,更具体地说,如果存在一个好的设计模式。使用javascript时,你必须经常小心,不要造成内存泄漏。这是我已经决定的,但我希望有更高层次的东西。无论如何谢谢你!