如何将数组传递给指令而不将其转换为字符串?

时间:2013-04-25 17:41:33

标签: angularjs angularjs-directive

是的,所以我只是进入指令,他们看起来非常棒。我遇到了一个问题:

我需要将一组图像传递给一个指令,这样我就可以按照某些标准对它们进行过滤。这是我的html调用指令:

<img cover="{{challenge.images}}">

这是我的指示:

myproject.directive('cover', function() {
    return {
        link: function ($scope, element, attrs) {
            console.debug("attrs.cover", Array(attrs.cover));
        }
    };
});

输出是一个字符串。有没有办法防止attr变成String?

1 个答案:

答案 0 :(得分:7)

我在这里假设你不想创建孤立的范围,所以:

myproject.directive('cover', function($parse) {
    return {
        link: function ($scope, element, attrs) {

            var covers = $parse(attrs.cover)($scope);
            console.debug("attrs.cover", covers);
        }
    };
});

然后像这样使用指令:

<img cover="challenge.images">