Angularjs 模块中的Angular js指令工作不正常
我有一个模块调用“menuLeft”,当模块启动时,没有正确加载我的指令,但如果正确运行我的函数en el方法“run”。 我不知道这是为什么。 这是我的密码Angularjs 模块中的Angular js指令工作不正常,angularjs,angularjs-directive,angularjs-routing,angularjs-module,Angularjs,Angularjs Directive,Angularjs Routing,Angularjs Module,我有一个模块调用“menuLeft”,当模块启动时,没有正确加载我的指令,但如果正确运行我的函数en el方法“run”。 我不知道这是为什么。 这是我的密码 (function () { angular.module('menuLeft', []); angular.module('menuLeft') .run(htmlMenuDirectivaGrupo) .directive('ctrlMenuDirectivaGrupo', ctrlMenuDirectivaGr
(function () {
angular.module('menuLeft', []);
angular.module('menuLeft')
.run(htmlMenuDirectivaGrupo)
.directive('ctrlMenuDirectivaGrupo', ctrlMenuDirectivaGrupo);
//MY MENU DIRECTIVE (THIS NOT LOAD)
//MENU GRUPO
/**
* @ngInject
*/
function ctrlMenuDirectivaGrupo($timeout) {
alert('hello ctrlmenu');
return {
scope: {
section: '='
},
templateUrl: 'partials/menuToogle.tmpl.html',
link: function ($scope, $element) {
var controller = $element.parent().controller();
$scope.isOpen = function () {
return controller.isOpen($scope.section);
};
$scope.toggle = function () {
controller.toggleOpen($scope.section);
};
}
};
}
//MY TEMPLATE FOR DIRECTIVE (THIS IF LOAD)
/**
* @ngInject
*/
function htmlMenuDirectivaGrupo($templateCache) {
alert('hello htmlmenu');
$templateCache.put('partials/menuToogle.tmpl.html',
'<md-button class="md-button-toggle"\n' +
' ng-click="toggle()"\n' +
' aria-controls="docs-menu-{{section.name | nospace}}"\n' +
' flex layout="row"\n' +
' aria-expanded="{{isOpen()}}">\n' +
' {{section.name}}\n' +
' <span aria-hidden="true" class=" pull-right fa fa-chevron-down md-toggle-icon"\n' +
' ng-class="{\'toggled\' : isOpen()}"></span>\n' +
'</md-button>\n' +
'<ul ng-show="isOpen()" id="docs-menu-{{section.name | nospace}}" class="menu-toggle-list">\n' +
' <li ng-repeat="page in section.pages">\n' +
' <menu-link section="page"></menu-link>\n' +
' </li>\n' +
'</ul>\n' +
'');
}
})();
(函数(){
角度模块('menuLeft',[]);
角度.module('menuLeft')
.run(htmlmenuidirectivagrupo)
.指令(“ctrlMenuDirectivaGrupo”,ctrlMenuDirectivaGrupo);
//我的菜单指令(此命令不加载)
//菜单GRUPO
/**
*@ngInject
*/
函数ctrlMenuDirectivaGrupo($timeout){
警报(“hello ctrlmenu”);
返回{
范围:{
节:'='
},
templateUrl:'partials/menuToogle.tmpl.html',
链接:函数($scope$element){
var controller=$element.parent().controller();
$scope.isOpen=函数(){
返回控制器.isOpen($scope.section);
};
$scope.toggle=函数(){
controller.toggleOpen($scope.section);
};
}
};
}
//指令的我的模板(此IF加载)
/**
*@ngInject
*/
函数htmlMenuDirectivaGrupo($templateCache){
警报(“hello htmlmenu”);
$templateCache.put('partials/menuToogle.tmpl.html',
“\n”+
“{section.name}}}\n”+
“\n”+
“\n”+
“\n”+
“- \n”+
“\n”+
“
\n”+
“
\n”+
'');
}
})();
为什么不加载两个函数?有错误的代码或声明?
谢谢
用这样的东西
返回{
限制:'E',
范围:{
节:'='
},
控制器:['$scope',函数($scope){..}],
链接:函数(作用域、元素、属性){..},
模板:“”+
''+
' '
};
问题是,我的指令在.html中没有正确声明什么
这是我们应该称之为正常工作的方式
指令
(function () {
angular.module('menuLeft', []);
angular.module('menuLeft')
.run(htmlMenuDirectivaGrupo)
.directive('menuGrupo', ctrlMenuDirectivaGrupo);
//MY MENU DIRECTIVE (THIS NOT LOAD)
//MENU GRUPO
/**
* @ngInject
*/
function ctrlMenuDirectivaGrupo($timeout) {
alert('hello ctrlmenu');
return {
scope: {
section: '='
},
templateUrl: 'partials/menuToogle.tmpl.html',
link: function ($scope, $element) {
var controller = $element.parent().controller();
$scope.isOpen = function () {
return controller.isOpen($scope.section);
};
$scope.toggle = function () {
controller.toggleOpen($scope.section);
};
}
};
}
//MY TEMPLATE FOR DIRECTIVE (THIS IF LOAD)
/**
* @ngInject
*/
function htmlMenuDirectivaGrupo($templateCache) {
alert('hello htmlmenu');
$templateCache.put('partials/menuToogle.tmpl.html',
'<md-button class="md-button-toggle"\n' +
' ng-click="toggle()"\n' +
' aria-controls="docs-menu-{{section.name | nospace}}"\n' +
' flex layout="row"\n' +
' aria-expanded="{{isOpen()}}">\n' +
' {{section.name}}\n' +
' <span aria-hidden="true" class=" pull-right fa fa-chevron-down md-toggle-icon"\n' +
' ng-class="{\'toggled\' : isOpen()}"></span>\n' +
'</md-button>\n' +
'<ul ng-show="isOpen()" id="docs-menu-{{section.name | nospace}}" class="menu-toggle-list">\n' +
' <li ng-repeat="page in section.pages">\n' +
' <menu-link section="page"></menu-link>\n' +
' </li>\n' +
'</ul>\n' +
'');
}
})();
(函数(){
角度模块('menuLeft',[]);
角度.module('menuLeft')
.run(htmlmenuidirectivagrupo)
.指令(“menuGrupo”,ctrlMenuDirectivaGrupo);
//我的菜单指令(此命令不加载)
//菜单GRUPO
/**
*@ngInject
*/
函数ctrlMenuDirectivaGrupo($timeout){
警报(“hello ctrlmenu”);
返回{
范围:{
节:'='
},
templateUrl:'partials/menuToogle.tmpl.html',
链接:函数($scope$element){
var controller=$element.parent().controller();
$scope.isOpen=函数(){
返回控制器.isOpen($scope.section);
};
$scope.toggle=函数(){
controller.toggleOpen($scope.section);
};
}
};
}
//指令的我的模板(此IF加载)
/**
*@ngInject
*/
函数htmlMenuDirectivaGrupo($templateCache){
警报(“hello htmlmenu”);
$templateCache.put('partials/menuToogle.tmpl.html',
“\n”+
“{section.name}}}\n”+
“\n”+
“\n”+
“\n”+
“- \n”+
“\n”+
“
\n”+
“
\n”+
'');
}
})();
HTML
我推荐阅读
谢谢大家。像这样尝试
angular.module('menuLeft',[]).run(htmlmenuidirectivagrupo).directive('ctrlmmenuidirectivagrupo',ctrlmenuidirectivagrupo')代码>在这个模块中,我执行了几个角度.module('menuLeft').run().directions();此外,这与加载后调用相同。是的,您可以按照这样的链接,创建plunker或fiddle来优化代码。代码非常轻。这也与我展示的相同。我的问题是,该指令没有收费
(function () {
angular.module('menuLeft', []);
angular.module('menuLeft')
.run(htmlMenuDirectivaGrupo)
.directive('menuGrupo', ctrlMenuDirectivaGrupo);
//MY MENU DIRECTIVE (THIS NOT LOAD)
//MENU GRUPO
/**
* @ngInject
*/
function ctrlMenuDirectivaGrupo($timeout) {
alert('hello ctrlmenu');
return {
scope: {
section: '='
},
templateUrl: 'partials/menuToogle.tmpl.html',
link: function ($scope, $element) {
var controller = $element.parent().controller();
$scope.isOpen = function () {
return controller.isOpen($scope.section);
};
$scope.toggle = function () {
controller.toggleOpen($scope.section);
};
}
};
}
//MY TEMPLATE FOR DIRECTIVE (THIS IF LOAD)
/**
* @ngInject
*/
function htmlMenuDirectivaGrupo($templateCache) {
alert('hello htmlmenu');
$templateCache.put('partials/menuToogle.tmpl.html',
'<md-button class="md-button-toggle"\n' +
' ng-click="toggle()"\n' +
' aria-controls="docs-menu-{{section.name | nospace}}"\n' +
' flex layout="row"\n' +
' aria-expanded="{{isOpen()}}">\n' +
' {{section.name}}\n' +
' <span aria-hidden="true" class=" pull-right fa fa-chevron-down md-toggle-icon"\n' +
' ng-class="{\'toggled\' : isOpen()}"></span>\n' +
'</md-button>\n' +
'<ul ng-show="isOpen()" id="docs-menu-{{section.name | nospace}}" class="menu-toggle-list">\n' +
' <li ng-repeat="page in section.pages">\n' +
' <menu-link section="page"></menu-link>\n' +
' </li>\n' +
'</ul>\n' +
'');
}
})();
<menu-grupo></menu-grupo>