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