在View之外添加Controller

时间:2015-10-31 01:35:23

标签: angularjs

我在RequireJS旁边使用AngularJS,我想给身体一个控制器。

最重要的元素是nav.container

现在,.container会随路径自动更改,但我想给导航器一个控制器,以便我可以更改当前的活动选项卡。然而,我不明白的是如何给nav一个控制器,因为它是一个静态元素,并且不会在路由旁边加载并在异步脚本(Angular等等)之前加载。 ..)已加载,因此我无法使用ng-controller指令。

2 个答案:

答案 0 :(得分:0)

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

类似的东西:

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

然后控制器定义为:

angular.module('abc').controller('appCtrl' .....)

更新:代码模块名称中的错误不匹配。

答案 1 :(得分:0)

如果您正在使用UI-Router,则可以创建一个存在应用程序的抽象状态。为了澄清,您的导航仍然是您的应用程序的一部分,但您的主要应用程序将位于ui-view指令下方。

编辑您可以阅读有关抽象状态on the documentation page的信息。作为奖励,如果您使用controllerAs,您的子控制器将原型继承父级的属性。保持您的应用程序范围开放,但干净整洁。