AngularJS在1个模板中使用了一些控制器

时间:2015-06-01 15:06:39

标签: javascript angularjs

我的应用程序中有不同的控制器。

admin.php的:

<body ng-controller="AdminController as AdminCtrl">

player.php:

<body ng-controller="InteractiveController as interactCtrl">

这两个.php文件各自的 admin.js和player.js ,其.controller正常运行(我有超过这两个)。

现在,我在menu.php中有菜单栏,我在 admin.php和player.php 文件中使用,导入时使用:

<?php include('includes/menu.php'); ?>

所以,如果我想在 menu.php 中使用每个控制器(admin.js和player.js)的值,我该怎么办?

例如,我需要这样做:

AdminCtrl.user.getUsername();
interactCtrl.user.getUsername();

但这很荒谬,因为我会让js陷入错误,如果我有500个控制器,那么就不会推荐它。

我想也许我可以做类似的事情:

<body ng-controller="AdminController as the_same_name">
<body ng-controller="InteractiveController as the_same_name">

但是我觉得我所有的同名控制器都不是一个好主意。

您怎么看?

谢谢!

1 个答案:

答案 0 :(得分:1)

基本上我建议在一个或多个服务中存储您想要使用交叉控制器的所有数据,然后在您的菜单栏控制器中注入该服务。这样,您就可以访问您在菜单栏中存储在这些服务中的数据。