Angularjs 错误:[$controller:ctrlreg]未注册角度控制器

Angularjs 错误:[$controller:ctrlreg]未注册角度控制器,angularjs,Angularjs,我尝试了很多方法,但我不确定我遗漏了什么,我得到的控制器名称未在控制台中注册错误 我甚至试图更改控制器的名称,但仍然并没有成功 请建议 AngularController.js (function () { 'use strict'; angular .module('mymod') .controller('controller', controller); controller.$inject = ['$location'];

我尝试了很多方法,但我不确定我遗漏了什么,我得到的控制器名称未在控制台中注册错误

我甚至试图更改控制器的名称,但仍然并没有成功

请建议

AngularController.js

(function () {
    'use strict';

    angular
        .module('mymod')
        .controller('controller', controller);

    controller.$inject = ['$location'];

    (function ($) {
        $.fn.menumaker = function (options) {
            var cssmenu = $(this), settings = $.extend({
                format: "dropdown",
                sticky: false
            }, options);
            return this.each(function () {
                $(this).find(".button").on('click', function () {
                    $(this).toggleClass('menu-opened');
                    var mainmenu = $(this).next('ul');
                    if (mainmenu.hasClass('open')) {
                        mainmenu.slideToggle().removeClass('open');
                    }
                    else {
                        mainmenu.slideToggle().addClass('open');
                        if (settings.format === "dropdown") {
                            mainmenu.find('ul').show();
                        }
                    }
                });
                cssmenu.find('li ul').parent().addClass('has-sub');
                multiTg = function () {
                    cssmenu.find(".has-sub").prepend('<span class="submenu-button"></span>');
                    cssmenu.find('.submenu-button').on('click', function () {
                        $(this).toggleClass('submenu-opened');
                        if ($(this).siblings('ul').hasClass('open')) {
                            $(this).siblings('ul').removeClass('open').slideToggle();
                        }
                        else {
                            $(this).siblings('ul').addClass('open').slideToggle();
                        }
                    });
                };
                if (settings.format === 'multitoggle') multiTg();
                else cssmenu.addClass('dropdown');
                if (settings.sticky === true) cssmenu.css('position', 'fixed');
                resizeFix = function () {
                    var mediasize = 1000;
                    if ($(window).width() > mediasize) {
                        cssmenu.find('ul').show();
                    }
                    if ($(window).width() <= mediasize) {
                        cssmenu.find('ul').hide().removeClass('open');
                    }
                };
                resizeFix();
                return $(window).on('resize', resizeFix);
            });
        };
    })(jQuery);

    (function ($) {
        $(document).ready(function () {
            $("#cssmenu").menumaker({
                format: "multitoggle"
            });
        });
    })(jQuery);
})();
(函数(){
"严格使用",;
有棱角的
.module('mymod')
.控制器(“控制器”,控制器);
控制器。$inject=['$location'];
(函数($){
$.fn.menumaker=函数(选项){
var cssmenu=$(此),设置=$.extend({
格式:“下拉列表”,
粘性:假
},选项);
返回此。每个(函数(){
$(this).find(“.button”).on('click',function(){
$(this.toggleClass('menu-opened');
var mainmenu=$(this.next('ul');
if(mainmenu.hasClass('open')){
main menu.slideToggle().removeClass('open');
}
否则{
main menu.slideToggle().addClass('open');
如果(settings.format==“下拉列表”){
main menu.find('ul').show();
}
}
});
cssmenu.find('li-ul').parent().addClass('has-sub');
multiTg=函数(){
cssmenu.find(“.has sub”).prepend(“”);
cssmenu.find(“.子菜单按钮”)。在('单击',函数()上{
$(this.toggleClass('submenu-opened');
if($(this).sibbins('ul').hasClass('open')){
$(this).sides('ul').removeClass('open').slideToggle();
}
否则{
$(this).sides('ul').addClass('open').slideToggle();
}
});
};
如果(settings.format==='multitogle')multiTg();
else cssmenu.addClass('dropdown');
如果(settings.sticky==true)cssmenu.css('position','fixed');
resizeFix=函数(){
var-mediasize=1000;
如果($(窗口).width()>mediasize){
cssmenu.find('ul').show();
}

if($(window).width()通过使用依赖项数组和模块初始化来更新代码。将代码更新为:

(function () {
    'use strict';

    angular
        .module('mymod', [])
        .controller('controller', controller);

    controller.$inject = ['$scope', '$location'];
    function controller($scope, $location) {
        //Write controller code here
    }
然后将指令代码更新为:

(function () {
    'use strict';

    angular.module('mymod')
     .directive('myDirective', function () {
         return {
             restrict: 'E', //E = element, A = attribute, C = class, M = comment         
             scope: true,
             //templateUrl: 'Views/Directives/Header/mytemplate.html',
             templateUrl: '../Views/Directives/MainHeader/mytemplate.html',

             //template: '<h1>Hello Directive: {{vm.title}}</h1>',
             controller: controller,
             controllerAs: 'vm'
         }
     });

})();
(函数(){
"严格使用",;
角度.module('mymod')
.directive('myDirective',函数(){
返回{
限制:'E',//E=element,A=attribute,C=class,M=comment
范围:正确,
//templateUrl:'Views/Directives/Header/mytemplate.html',
templateUrl:“../Views/Directives/MainHeader/mytemplate.html”,
//模板:“Hello指令:{{vm.title}}”,
控制器:控制器,
controllerAs:'vm'
}
});
})();
如果您想在angularjs应用程序中使用jquery,请确保在angularjs库之前插入它(index.html上的脚本标记)


你对
mymod
的定义在哪里?也就是说,我没有看到
angular.module('mymod',[])
。另外,帮你自己一个忙,当你使用angular时忘记jQuery。这两个框架不能很好地协同工作。
(function () {
    'use strict';

    angular.module('mymod')
     .directive('myDirective', function () {
         return {
             restrict: 'E', //E = element, A = attribute, C = class, M = comment         
             scope: true,
             //templateUrl: 'Views/Directives/Header/mytemplate.html',
             templateUrl: '../Views/Directives/MainHeader/mytemplate.html',

             //template: '<h1>Hello Directive: {{vm.title}}</h1>',
             controller: controller,
             controllerAs: 'vm'
         }
     });

})();