未调用AngularJS指令链接函数
我正在尝试使用带有引导模式窗口的http认证库。Modals工作正常,但我在指令方面有问题。 这里有一个JSFIDLE链接-。我试图添加一个将被调用并添加侦听器的指令。我已经在JSFIDLE中简化了这个示例,因此您不会看到http身份验证导入。但是(“”)元素仍然保留(它们不会破坏图片) 我的问题是-为什么不调用链接函数?我添加了未调用AngularJS指令链接函数,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我正在尝试使用带有引导模式窗口的http认证库。Modals工作正常,但我在指令方面有问题。 这里有一个JSFIDLE链接-。我试图添加一个将被调用并添加侦听器的指令。我已经在JSFIDLE中简化了这个示例,因此您不会看到http身份验证导入。但是(“”)元素仍然保留(它们不会破坏图片) 我的问题是-为什么不调用链接函数?我添加了elem.addClass('test')作为示例。 我相信解决方案非常简单,只是看不见而已 还有一个不太重要的问题-可以将范围作为参数传递给另一个范围吗?我需要它来关
elem.addClass('test')
作为示例。
我相信解决方案非常简单,只是看不见而已
还有一个不太重要的问题-可以将范围作为参数传递给另一个范围吗?我需要它来关闭模态窗口
谢谢这里有两件事在起作用 一个是必须通过
class
属性传递指令,而不是ng class
其次,传递给restrict属性的“C”
字符是一个ASCII为1057的字符(不是我们通常的ASCII 67字符)
修复了控制台中显示的大部分指令错误,只需启用日志记录:
app.config(function($logProvider){
$logProvider.debugEnabled(true);
});
此外,您可以断言指令是否已实际加载:
angular.module('my', [])
.controller('Controller', [ '$scope', '$injector',
function ($scope, $injector) {
assertDirectives($injector, [ 'dir1', 'dir2']);
});
function assertDirectives($injector, directives){
_.each(directives, function(directiveCamelCase){
if( !$injector.has(directiveCamelCase + 'Directive') )
throw("Directive " + directiveCamelCase + " is not available.")
});
}
//you may replace underscore's `each` with jquery `each` or regular js loop
因此,您无需猜测指令为何不起作用。西里尔字母。。。我几年也找不到这个问题了,谢谢!