【问题标题】:AngularJS directive link function not executingAngularJS指令链接功能未执行
【发布时间】:2013-06-05 18:23:40
【问题描述】:

我正在为一个 jQuery 元素编写一个包装器,该元素是我正在使用的模板的一部分。

此处示例中的链接方法:http://jsfiddle.net/Webnet/ugSsk/ 未触发。我无法将其输出到控制台或警报。

有什么建议吗?

JS:

angular.module('test', []).
    directive('slideToggle', function () {
        return {
            scope: false,
            replace: true,
            template: '<input type="checkbox" name="" class="slideToggle"/>',
            link: ['scope', 'element', 'attrs', function (scope, element, attrs) {
                console.log(element);
                alert('linked');
            }],
            controller: ['$scope', '$element', '$attrs', function ($scope, $element, $attrs) {

            }]
        }
    });

HTML:

<div ng-app="test">
    <div slide-toggle on="Active" off="Inactive"></div>
</div>

【问题讨论】:

  • 没有必要像那样将参数注入到您的链接函数中。这就是它不起作用的原因。
  • 你使用了错误的语法,你不应该使用带有链接功能的缩小语法

标签: angularjs


【解决方案1】:

“所有注解样式都是等价的,可以在 Angular 中支持注入的任何地方使用。” -- DI doc

由于链接函数不支持注入,所以不能在那里使用inline annotation(或任何其他DI注解样式)。

【讨论】:

  • 似乎有很多关于链接功能不起作用的问题/答案。许多其他的并没有为我做任何事情,但这个修复了它。
猜你喜欢
  • 1970-01-01
  • 2015-09-11
  • 2015-01-07
  • 2014-05-08
  • 1970-01-01
  • 1970-01-01
  • 2016-04-03
  • 1970-01-01
  • 2015-07-26
相关资源
最近更新 更多