現在、ディレクティブをそのディレクティブの属性を介してディレクティブに渡すときに問題が発生しています。私はそれを文字列として読み取ることができますが、配列として必要なので、これは私が思いついたものですが、うまくいきません。誰か助けて?前もって
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']" ... >
スコープからこの配列にアクセスしている場合、つまりコントローラーにロードされている場合、変数の名前を渡すことができます:
ディレクティブ:
scope:{
title: "@",
author: "@",
content: "@",
cover: "@",
date: "@",
tags: "="
},
テンプレート:
<post title="sample title" tags="arrayName" ... >
attrsの代わりに$ scopeを使用する必要もあります。その後、配列オブジェクトを取得します。そうでない場合は、文字列を取得します。
scope:{
title: "@",
author: "@",
content: "@",
cover: "@",
date: "@",
tags: "="
},
link: function(scope, element, attrs){
scope.tags = scope.tags
}