Layout 通过隐藏/显示窗口来管理复杂的UI,而不会失去范围/控制
使用angular js,如何管理允许隐藏和显示窗口(等等)的复杂视图布局。如果使用相同的url路径,我需要在重新打开窗口时不丢失任何状态或范围。这就像显示一个项目列表,并在一个与其他项目平行的窗口中打开每个项目。使用角度和路线时,先前的作用域将被销毁Layout 通过隐藏/显示窗口来管理复杂的UI,而不会失去范围/控制,layout,angularjs-scope,angular-ui,states,Layout,Angularjs Scope,Angular Ui,States,使用angular js,如何管理允许隐藏和显示窗口(等等)的复杂视图布局。如果使用相同的url路径,我需要在重新打开窗口时不丢失任何状态或范围。这就像显示一个项目列表,并在一个与其他项目平行的窗口中打开每个项目。使用角度和路线时,先前的作用域将被销毁 (#/itemlist -> #/itemlist/item/1 and #/itemlist/item/2) 一个项目打开具有相同状态的多个组件(两个窗口;请移动它们),由角度ui状态管理 每个状态都有自己的控制器,每个控制器都有
(#/itemlist -> #/itemlist/item/1 and #/itemlist/item/2)
- 一个项目打开具有相同状态的多个组件(两个窗口;请移动它们),由角度ui状态管理李>
- 每个状态都有自己的控制器,每个控制器都有自己的作用域
- 范围继承可以在以后的扩展原型中设计,但应该独立于视图层次结构
- 控制器和视图将被范围销毁,或者如果所有视图都被销毁,则控制器和范围也必须被销毁(尚未完全实现)
- 如果调用路由且存在范围,则相关视图将被重新激活
$stateProvider
来解析控制器/视图注入:
$stateProvider
.state({
name : 'item',
url: '/item/:id',
views:{
'genericCtrl' : {
resolve : {
views : function() { return ['TestView', 'TestView']; },
ctrl : function() { return 'TestCtrl' ; }
},
controller : 'GenericCtrl'
}
}
})
我不知道这个概念是否有效,或者angular是否有自己的方法(我还没有找到),或者是否存在另一个更好的解决方案。请把你的想法、改进等写下来。这应该是我们大型应用程序的基本概念。您看过这个吗?angularUI路由器是你想要的,我在一个非常大的应用程序上使用它,有很多深度链接。。。。在销毁控制器时,您希望不丢失的任何持久数据都需要存储在服务中。