使用angularjs标记列出数组中的值?

时间:2014-08-15 16:37:45

标签: angularjs

我有这个HTML:

<div class="{{ article.contributor }}" ng-repeat="article in articles">

这给了我这个:

<div class="["harry", "eddy", "john"]">

但我想要这个:

<div class="harry eddy john">

这样做的最佳方式是什么?

非常感谢

2 个答案:

答案 0 :(得分:0)

尝试加入数组,如下所示:

<div class="{{ article.contributor.join(' ') }}" ng-repeat="article in articles">

答案 1 :(得分:0)

哦,选择......快乐的选择。 快速 ...

<div class="{{ typeof article.contributors === 'array' ? article.contributors.join(' ') : article.contributors }}" ng-repeat="article in articles"></div>

作为过滤器......

myAppname.module.filter('spaceSeperatedValues', function() {
    return function(data){
        //handles if just a string (e.g., 'John')
        return data === 'array' ? data.join(' ') : data;
    }
}

<div class="{{ article.contributors | spaceSeperatedValues }}" ng-repeat="article in articles"></div>

作为控制器功能..

app.module.controller('ArticleController', ['$scope'], function ($scope) {
    $scope.articles = [{ text : 'my article text', contributors : ['harry', 'eddy', 'john'] }]

    $scope.spaceSeperatedValues = function(data) {
        //handles if just a string (e.g., 'John')
        return data === 'array' ? data.join(' ') : data;
    }
}


<div ng-controller="ArticleController">
    <div class="{{ spaceSeperatedValues(article.contributors) }}" ng-repeat="article in articles"></div>
</div>

未在调试器中检查此代码...&lt; - 免责声明。 :d