错误:[ng:areq]参数'myCtrl1'不是函数,未定义

时间:2016-06-21 12:50:44

标签: angularjs angularjs-directive angular-ui-router

  

我在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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    <a id="a2" ui-sref=".setting">Setting</a>
                </center>
                <br><br><br><br>
                <div ui-view></div>





            </body> 
        </html>
  

这一切都是文件,请帮帮我......

3 个答案:

答案 0 :(得分:0)

而不是var paper = new joint.dia.Paper({ el: $('#myholder-small'), width: 600, height: 100, model: graph, gridSize: 15, drawGrid:true });

你应该这样做:

angular.module('mainApp',[]),controller(...)

相同的其他地方,您使用angular.module。 您只需要像以前一样初始化模块一次:

angular.module('mainApp').controller(...)

此后到处都应该使用

var mainApp=angular.module('mainApp',['ui.router']);

因此您的代码应如下所示:

angular.module('myApp')

'use strict';
var mainApp=angular.module('mainApp',['ui.router']);
angular.module('mainApp').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..   */   
    });
}]); 

答案 1 :(得分:0)

你不应该再次定义depndanance

angular.module('mainApp').controller('myCtrl1',function($scope,$http){
});

答案 2 :(得分:0)

我的问题已经解决,我遇到了这个问题,因为当我附加我的脚本文件时,序列不正确因此我遇到了这个问题。