我正在尝试使用带有bootstrap模态窗口的angular-http-auth库。模态工作正常但我的指令有问题。 这是一个jsfiddle链接 - http://jsfiddle.net/jCUSh/85/。我正在尝试添加一个将被调用并添加侦听器的指令。我在jsfiddle中简化了示例,因此您将看不到http-auth导入。但是,scope.on('')元素仍然保留(它们不会破坏图片)。
我的问题是 - 为什么不调用链接函数?我添加了elem.addClass('test')
作为示例。
我相信解决方案非常简单,无法看到它。
同样不那么重要的问题 - 将范围作为参数传递给另一个范围是否可以?我需要它来关闭模态窗口。
由于
答案 0 :(得分:5)
大多数指令错误都显示在控制台中,只需启用日志记录:
app.config(function($logProvider){
$logProvider.debugEnabled(true);
});
此外,您可以断言if指令是否实际加载:
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
因此,您无需猜测为什么指令无效。
答案 1 :(得分:4)
这里有两件事情在发挥作用..
一个是你必须通过class
属性而不是ng-class
其次,传递给restrict属性的"C"
字符是ASCII为1057的字符(不是我们通常的ASCII 67字符)