Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery AngularJS嵌套应用程序_Jquery_Angularjs_Structure - Fatal编程技术网

Jquery AngularJS嵌套应用程序

Jquery AngularJS嵌套应用程序,jquery,angularjs,structure,Jquery,Angularjs,Structure,我需要将一个应用程序嵌套在另一个应用程序中,我正在寻找如何做到这一点的良好实践 我有一个“userApp”,它为经过身份验证的用户管理一个控制面板。 因此,非认证用户的结构如下所示 <html> <body> <nav> Login </nav> <div> .... </div> </body> </html> <html>

我需要将一个应用程序嵌套在另一个应用程序中,我正在寻找如何做到这一点的良好实践

我有一个“userApp”,它为经过身份验证的用户管理一个控制面板。 因此,非认证用户的结构如下所示

<html>
  <body>
    <nav>
      Login
    </nav>
    <div>
      ....
    </div>
  </body>
</html>
<html>
  <body>
    <nav>
      User
    </nav>
    <div ng-app="userApp">
      <div ng-view="">...</div>
      ....
    </div>
  </body>
</html>
<html>
  <body ng-app="mainApp">
    <nav>
      User
    </nav>
    <div ng-app="userApp">
      <div ng-view="">...</div>
      ....
    </div>
  </body>
</html>

登录
....
登录由PHP管理,因此当用户登录时,他将被重定向到控制面板,结构如下所示

<html>
  <body>
    <nav>
      Login
    </nav>
    <div>
      ....
    </div>
  </body>
</html>
<html>
  <body>
    <nav>
      User
    </nav>
    <div ng-app="userApp">
      <div ng-view="">...</div>
      ....
    </div>
  </body>
</html>
<html>
  <body ng-app="mainApp">
    <nav>
      User
    </nav>
    <div ng-app="userApp">
      <div ng-view="">...</div>
      ....
    </div>
  </body>
</html>

使用者
...
....
所以,现在我需要在这个应用程序之上定义一个主应用程序,它由经过身份验证和未经身份验证的用户共享,结构如下所示

<html>
  <body>
    <nav>
      Login
    </nav>
    <div>
      ....
    </div>
  </body>
</html>
<html>
  <body>
    <nav>
      User
    </nav>
    <div ng-app="userApp">
      <div ng-view="">...</div>
      ....
    </div>
  </body>
</html>
<html>
  <body ng-app="mainApp">
    <nav>
      User
    </nav>
    <div ng-app="userApp">
      <div ng-view="">...</div>
      ....
    </div>
  </body>
</html>

使用者
...
....
这两个应用程序不需要共享任何内容,只是我需要一个主应用程序来管理经过身份验证和未经身份验证的用户之间的公共数据。例如,可以管理导航栏、侧栏、不同的ajax调用,但不关心用户是否经过身份验证(这部分是正确的,userApp可以设置本地存储变量,这些变量可以在userApp外部读取,也可以由mainApp管理)。userApp有路由,mainApp没有

我还没有尝试过,但我很确定它会崩溃,我正在寻找最佳实践,以实现相同的结果(我不想弄乱代码,两个月后发现这是一个弗兰肯斯坦…)

有什么建议吗?这是可以实现的吗?或者我需要重新考虑结构,避免使用mainApp(比如说,我可以使用jQuery做同样的事情……)。我只是不想丢失userApp中的路由,如果可能的话,我也不想更改这一个中的任何内容,因为它是单独维护的,它已经准备好并进行了测试

谢谢

编辑 看来答案是否定的
AngularJS应用程序不能相互嵌套。

所以我的问题是,是否可以在主体级别移动userApp,并且仅在用户经过身份验证且仅在控制面板中使用路由

范例

/
索引

/user#/
控制面板

/user#/account
角度路线

/some url
不是角度路由


/some url/some page
非角度路由

在我看来,您应该重新考虑您的结构,例如,您可以创建一个带有嵌套控制器的应用程序和一个用于管理身份验证的服务

我发现了一些关于嵌套应用程序的问题,似乎有人能够做一些事情,但可能不是你的情况。无论如何,看看:

可能存在的副本