假设我有一个指令myDirective
。该指令希望有一组标记名tags
,例如['new', 'owner']
。这个数组就像生成一样生成;
<my-directive ng-repeat="that in a" tags="getTags(that.id)"></my-directive>
angular.module('x').directive(...
scope: {
tags: '@'
}
};
其中getTags
是一个返回标签数组的函数。
像这样,tags
将成为字符串"getTags(that.id)"
。如果我把它放在像;
<my-directive ng-repeat="that in a" tags="{{getTags(that.id)}}"></my-directive>
tags
仍然是一个字符串。但它看起来像"['new', 'owner']"
- 但仍然是一个字符串。我如何传递数组?
答案 0 :(得分:3)
您需要解析变量:
scope.tags = scope.$eval(scope.tags);