我正在使用 MEAN.JS 构建一个应用程序,并且我正在尝试使用来自另一个模块的控制器。我发现我可以通过依赖注入来做到这一点:
angular.module(‘MyModule’, [‘Dependency’]);
但是在 MEAN.JS 中创建模块的方式是:
ApplicationConfiguration.registerModule('MyModule');
而且我不能只将第二个参数传递给registerModule
. 那么,我该怎么做呢?我必须同时使用这两种方法吗?我做错了吗?
例子
我想添加一个新模型:Campaign
. Campaigns
仅由管理员创建,但“活动所有者”(另一个User
)可以看到。创建活动表单应列出可用用户,因此管理员可以选择将成为该“所有者”的用户Campaign
。
问题是,创建活动表单由 控制CampaignsController
,我该如何列出Users
?我使用了另一个控制器(UsersController
),这就是问题所在,它是未定义的,因为我们在Campaign
模块中。
编辑:
问题是 grunt 错误地自动重启应用程序:
我将控制器从一个模块(文件夹)移动到另一个模块,但 grunt 仍在尝试从旧路径加载它,因此失败:找不到控制器。我认为问题是依赖注入,但你只需要关闭 grunt (Ctrl+C) 并再次运行它。问题解决了。
无论如何,感谢@gilBirman 的回答,因为它是正确的:没有必要用 MEANJS 注入任何东西。