Angularjs 在视图外添加控制器

Angularjs 在视图外添加控制器,angularjs,Angularjs,我正在使用RequireJS和AngularJS一起使用,我想给身体一个控制器 最重要的元素是nav和.container 现在,.container会随路线自动更改,但我想为导航设置一个控制器,以便更改当前的活动选项卡。然而,我不明白的是,如何给nav一个控制器,因为这是一个静态元素,没有沿着路由加载,而是在异步脚本(Angular等)加载之前加载,所以我不能使用ng控制器指令。一种方法是在整个html的顶部,ng应用程序的下方或旁边设置一个单独的控制器。这样,您也可以控制应用程序的静态部分

我正在使用
RequireJS
AngularJS
一起使用,我想给身体一个控制器

最重要的元素是
nav
.container


现在,
.container
会随路线自动更改,但我想为导航设置一个控制器,以便更改当前的活动选项卡。然而,我不明白的是,如何给
nav
一个控制器,因为这是一个静态元素,没有沿着路由加载,而是在异步脚本(Angular等)加载之前加载,所以我不能使用ng控制器指令。

一种方法是在整个html的顶部,ng应用程序的下方或旁边设置一个单独的控制器。这样,您也可以控制应用程序的静态部分

比如:

<html ng-app="abc" ng-controller="appCtrl">

更新:代码模块名称不匹配时出错。

如果您使用的是UI路由器,您可以创建应用程序存在的抽象状态。澄清一下,您的nav仍然是应用程序的一部分,但您的主要应用程序将位于
ui视图
指令之下


编辑您可以阅读有关抽象状态的内容。另外,如果您使用controllerAs,您的子控制器将原型化my继承父控制器的属性。使您的应用程序范围保持开放,但美观整洁

这不是违背了《追魂曲》的全部目的吗?这是Angular应用程序中常见的解决方案。我正在使用相同的方法处理一个应用程序。是的,它可能无法达到目的,但如果它在角度范围内执行此操作,则这是一件好事。好的,我尝试了此方法,但我得到了
[ng:btstrpd]
似乎您可能多次加载AngularJS。确保您没有超过一个
ng应用程序
声明
angular.module('abc').controller('appCtrl' .....)