2016-11-15 32 views
0

问题:我们在同一页面上运行多个角度应用程序。一个用于页脚。一个用于标题,另一个用于登录模式。每个都有自己的状态和每个用户的ui.router。将多个ng应用程序合并到一个应用程序中

查询:我们希望以最小侵入的方式将它们合并到一个ng-app中。这里的主要问题是,当我们试图把它们结合在一起,开关状态,导致一些地区消失,

我们的第一个“天真”的做法是做这样的事情:

angular 
    .module('bigApp', ['smallApp1', 'smallApp2']) 
    .run(['$state', function($state) { 
    console.log("Big app running!"); 
    }]); 

这似乎导致选择性渲染。例如。当我点击链接转到smallApp1中定义的状态时,smallApp2的视图消失。

我是否正确地认为必须创建一个新的共同父状态?父母国家将需要有子视图来渲染需要保留的小应用程序?状态改变时不会消失?

+0

不幸的是,你正在寻求建议,这不适合堆栈溢出,因为没有单一的正确答案。你应该看看你的选择,并提出一个更有针对性的问题。 –

+1

是否有任何理由不能为所有三个制造单个更大的ng控制器? – Wold

+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") 

一旦你已经映射出你的结构,就可以计算出哪些部分将使用的用户界面视图,并且将使用组件。每个组件在一个应用程序下可以有自己的控制器。

相关问题