Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未调用AngularJS指令链接函数_Angularjs_Angularjs Directive_Angularjs Scope - Fatal编程技术网

未调用AngularJS指令链接函数

未调用AngularJS指令链接函数,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我正在尝试使用带有引导模式窗口的http认证库。Modals工作正常,但我在指令方面有问题。 这里有一个JSFIDLE链接-。我试图添加一个将被调用并添加侦听器的指令。我已经在JSFIDLE中简化了这个示例,因此您不会看到http身份验证导入。但是(“”)元素仍然保留(它们不会破坏图片) 我的问题是-为什么不调用链接函数?我添加了elem.addClass('test')作为示例。 我相信解决方案非常简单,只是看不见而已 还有一个不太重要的问题-可以将范围作为参数传递给另一个范围吗?我需要它来关

我正在尝试使用带有引导模式窗口的http认证库。Modals工作正常,但我在指令方面有问题。 这里有一个JSFIDLE链接-。我试图添加一个将被调用并添加侦听器的指令。我已经在JSFIDLE中简化了这个示例,因此您不会看到http身份验证导入。但是(“”)元素仍然保留(它们不会破坏图片)

我的问题是-为什么不调用链接函数?我添加了
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

因此,您无需猜测指令为何不起作用。

西里尔字母。。。我几年也找不到这个问题了,谢谢!