Angularjs 角度部分控制器
我有一个角度js文件夹结构如下。我使用angular ui路由器进行路由。我的问题是我在index.html中包含了HomeController.js的链接,但angular ui router似乎找不到控制器。有解决办法吗?是否可以直接包含控制器的链接而不是控制器名称Angularjs 角度部分控制器,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我有一个角度js文件夹结构如下。我使用angular ui路由器进行路由。我的问题是我在index.html中包含了HomeController.js的链接,但angular ui router似乎找不到控制器。有解决办法吗?是否可以直接包含控制器的链接而不是控制器名称 app/ index.html app.js 家/ home.html HomeController.js 接触/ contact.html ContactController.js在使用UI路由器与AngularJS合作时,
app/
index.html
app.js
家/
home.html
HomeController.js
接触/
contact.html
ContactController.js
在使用UI路由器与AngularJS合作时,每当我发现自己遇到麻烦时,我总是尝试查看这个清单
- 将您的
文件包含在controller.js
中,并交叉检查您的浏览器控制台是否未记录404以获取此文件的GET请求。(用于自动执行此操作)index.html
- 确保您的
的名称在构造函数中以及在控制器
定义中相同状态
- 如果您使用的是
,请确保最后调用它iLife
- 确保声明控制器的
模块
已插入主
引导
模块定义,并交叉检查是否解决了所有其他依赖项
Module
依赖性问题。第四点
确保指定要在其下定义控制器的模块
如果是现有模块(即之前定义的模块):
如果是新模块
angular
.module("newModule", []) // Make sure you inject this newModule in app.js
.controller("HomeCtrl", function() {})
编辑:
查看您的更新,您已经使用
ng controller
在标记中显式分配了一个控制器。此div
原型中的任何角度表达式通常继承自bsCarouselController
、homeController
和RootScope
请重新检查您在ContactController.js中给出的名称,例如myApp.conroller('homeController',function(){});我敢肯定这是正确的。如果我将控制器放入app.js中,但不将控制器分离出来,那么它会起作用。您可以提供fiddle以获得更多理解,因为我认为会有一个小错误导致错误。。控制台中是否有任何错误??出现错误是因为ng控制器中的名称与stateProvider“home controller”不同,如果您通过stateProvider提供ng控制器,则无需编写ng控制器仍在尝试您的建议。如果控制器url不能直接包含。假设我在100个js文件中有100个控制器,那么我需要更新它,将100个js文件包含在main index.html上的脚本src中?不需要。您可以在一个模块和一个文件下执行。但它会变得一团糟。理想情况下,每个功能应该有一个控制器。这就是为什么我建议使用wiredep来自动化此任务的原因。很好,我通过删除ng控制器找到了解决方案
angular
.module("existingModule")
.controller("HomeCtrl", function() {} )
angular
.module("newModule", []) // Make sure you inject this newModule in app.js
.controller("HomeCtrl", function() {})