【发布时间】:2016-10-23 00:48:29
【问题描述】:
我在 ng-app 和 myCtrl1.js 中使用状态提供程序,错误 发生像
错误:[ng:areq] 参数 'myCtrl1' 不是函数,未定义,下面是我的代码..
MainApp.js
'use strict';
var mainApp=angular.module('mainApp',['ui.router']);
angular.module('mainApp',['ui.router']).config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('Emergency Message', {
url: '/',
templateUrl:'msg/setting.html',
controller:'myCtrl1'/*This one generates an error which i have explained above..*/
})
.state('setting', {
url: '/setting',
templateUrl: 'setting/cchk.html',
controller:'myCtrl'/*this works*/
})
.state('message', {
url: '/message',
templateUrl: 'msg/setting.html',
controller:'myCtrl1'/*same This one also generates an error which i have explained above.. */
});
}]);
发生错误的以下文件
myCtrl1.js
'use strict';
angular.module('mainApp',[]).controller('myCtrl1',function($scope,$http){
});
下面是我的索引页
Index.html
这是我的 html 页面,它包含所有 js、css 和所有文件 是必需的。
<!DOCTYPE html>
<html ng-app="mainApp">
<head
这是要包含的脚本和 css 文件部分
</head>
<body>
<center>
<a id="a1" ui-sref=".message">Message</a>
<a id="a2" ui-sref=".setting">Setting</a>
</center>
<br><br><br><br>
<div ui-view></div>
</body>
</html>
这些都是文件,请帮帮我...
【问题讨论】:
-
你应该像这样注册你的控制器 angular.module('mainApp').controller(...) ,同样在你的配置中你应该做 angular.module('mainApp').config
-
myCtrl 在哪里,可以用?
-
angular.module('mainApp').controller('myCtrl',function($scope,$http){});
-
是的,因为它有正确的语法。您是否也对其他 myCtrl1 进行了此更改?
-
我希望你没有忘记包含 myCtrl1.js
标签: angularjs angularjs-directive angular-ui-router