Передача массива через атрибут в директиву AngularJS



в настоящее время у меня возникла проблема при передаче массива в директиву через атрибут этой директивы. Я могу прочитать его как строку, но мне это нужно как массив, так что это то, что я придумал, но это не работает. Помочь кому-нибудь? спасибо заранее



код:



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']" ... >
553   2  

2 ответов:

Если вы обращаетесь к этому массиву из своей области, т. е. загружены в контроллер, вы можете просто передать имя переменной:

привязка массива к переменной директивы в AngularJS

вы также можете использовать $scope вместо attrs. тогда вы получите объект, в противном случае вы получите строку.

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


link: function(scope, element, attrs){
            scope.tags = scope.tags
        }

Comments

    Ничего не найдено.