问题:我们在同一页面上运行多个角度应用。一个用于页脚。一个用于标题,一个用于登录模式。每个人都有自己的状态和每个用户ui.router。
挑战:我们希望以最少侵入性的方式将它们组合成一个ng-app。这里的主要问题是,当我们尝试将它们组合时,切换状态会导致某些区域消失,
我们的第一个"天真"方法是做类似的事情:
angular
.module('bigApp', ['smallApp1', 'smallApp2'])
.run(['$state', function($state) {
console.log("Big app running!");
}]);
这似乎导致选择性渲染。例如。当我点击链接转到smallApp1
中定义的状态时,smallApp2
的视图会消失。
我是否认为必须创建一个新的共同父国?父状态需要有子视图来呈现需要保留的小应用程序吗?当状态发生变化时不会消失?
答案 0 :(得分:0)
您需要绘制新的状态和组件。您可以使用分层状态,例如
"menu" state - contains navigation, status bar (always present)
"menu.home" - contains the central home page
"menu.people" - contains your list of people
"menu.people.individual" - contains details of an individual (a sub view of "menu.people")
绘制完结构后,您可以确定哪些部分将使用ui-view,哪些部分将使用组件。每个组件都可以在一个应用程序下拥有自己的控制器。