Передача массива через атрибут в директиву 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']" ... >
2 ответов:
Если вы обращаетесь к этому массиву из своей области, т. е. загружены в контроллер, вы можете просто передать имя переменной:
вы также можете использовать $scope вместо attrs. тогда вы получите объект, в противном случае вы получите строку.
scope:{ title: "@", author: "@", content: "@", cover: "@", date: "@", tags: "=" }, link: function(scope, element, attrs){ scope.tags = scope.tags }
Comments