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

Din*_*ine 3 angularjs angularjs-directive

是的,所以我只是进入指令,他们似乎非常棒.我遇到了一个问题:

我需要将一个图像数组传递给一个指令,以便我可以按照某些标准过滤它们.这是我的html调用指令:

<img cover="{{challenge.images}}">
Run Code Online (Sandbox Code Playgroud)

这是我的指示:

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

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

pko*_*rce 7

我在这里假设您不想创建隔离范围,因此:

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

            var covers = $parse(attrs.cover)($scope);
            console.debug("attrs.cover", covers);
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

然后像这样使用指令:

<img cover="challenge.images">
Run Code Online (Sandbox Code Playgroud)