首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未调用AngularJS指令链接函数

未调用AngularJS指令链接函数
EN

Stack Overflow用户
提问于 2013-12-24 23:59:29
回答 2查看 10.2K关注 0票数 5

我正在尝试使用带引导模式窗口的angular-http-auth库。通道工作得很好,但我在指令方面有问题。这是一个jsfiddle链接- http://jsfiddle.net/jCUSh/85/。我正在尝试添加一个指令,该指令将被调用并添加侦听器。我用jsfiddle简化了示例,所以您不会看到http-auth导入。但是,scope.on('')元素仍然保留(它们无论如何都不会破坏图片)。

我的问题是-为什么不调用链接函数?我添加了elem.addClass('test')作为示例。我相信解决方案非常简单,只是看不到而已。

还有一个不太重要的问题--是否可以将作用域作为参数传递给另一个作用域?我需要它来关闭模式窗口。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-25 00:21:24

这里有两件事在起作用..

其一是必须通过class属性而不是ng-class传递指令

其次,您传递给"C"属性的限制字符是一个ASCII值为1057的字符(不是我们通常使用的ASCII67字符)

http://jsfiddle.net/gaby/jCUSh/87/上的修复演示

票数 4
EN

Stack Overflow用户

发布于 2014-04-30 17:36:10

大多数指令错误都显示在控制台中,只需启用日志:

代码语言:javascript
复制
app.config(function($logProvider){
    $logProvider.debugEnabled(true);
});

此外,您还可以断言是否实际加载了指令:

代码语言:javascript
复制
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

因此,您不需要猜测指令不起作用的原因。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20763587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档