Array doorgeven via attribuut aan AngularJS-richtlijn

Ik heb momenteel een probleem bij het doorgeven van een array aan een richtlijn via een attribuut van die richtlijn. Ik kan het lezen als een string, maar ik heb het nodig als een array, dus dit is wat ik bedacht, maar het werkt niet. Iemand helpen? alvast bedankt

Javascript::

app.directive('post', function($parse){
    return {
        restrict: "E",
        scope:{
            title: "@",
            author: "@",
            content: "@",
            cover: "@",
            date: "@"
        },
        templateUrl: 'components/postComponent.html',
        link: function(scope, element, attrs){
            scope.tags = $parse(attrs.tags)
        }
    }
}

HTML::

<post title="sample title" tags="['HTML5', 'AngularJS', 'Javascript']" ... >

Antwoord 1, autoriteit 100%

Als u deze array vanuit uw scope benadert, d.w.z. geladen in een controller, kunt u gewoon de naam van de variabele doorgeven:

Array binden aan richtlijnvariabele in AngularJS

Richtlijn:

scope:{
        title: "@",
        author: "@",
        content: "@",
        cover: "@",
        date: "@",
        tags: "="
    },

Sjabloon:

<post title="sample title" tags="arrayName" ... >

Antwoord 2, autoriteit 6%

het kan ook zijn dat u $scope moet gebruiken in plaats van attrs. dan krijg je een array-object, anders krijg je een string.

    scope:{
            title: "@",
            author: "@",
            content: "@",
            cover: "@",
            date: "@",
            tags: "="
        },
link: function(scope, element, attrs){
            scope.tags = scope.tags
        }

Other episodes