我想将两个逗号分隔的列表CENTURY, BADGER65, 85合并成一个数组,例如:[{name: 'CENTURY', price: '65'}, {name: 'BADGER', price: 85}],这些列表位于json对象中:

{
    unit: '35 lb',
    brands: 'CENTURY, BADGER'
    prices: '65, 85'
}

所以我要做的是一个过滤器:
angular
    .module( 'app.purchases.products' )
    .filter( 'mergeDetails', mergeDetails );

function mergeDetails() {
    return function ( product ) {
        _.merge( product.brands, product.prices );//Using lodash, any suggestion?
        console.log('brands ', product.brands);
        return product.brands;//`_.merge` will add prices to brands
    }
}

我想知道如何将滤镜应用于插值{{ }},以便获取数组并在ng-repeat中使用它,在这里使用它:
<tr ng-repeat="product in products">
    <td>{{product.unit}}</td>
    <td>
        <!-- Here I should filter to ng-repeat the resulting array -->
        {{product.brands +' '+ product.prices}}
    </td>
</tr>

最佳答案

我认为,如果您寻找类似CENTURY, BADGER, EXO的输出,则只需要这样做

  <li ng-repeat="p in products">
    <p>{{p.brands}}</p>
  </li>

我对此进行编辑以添加过滤器可能有所帮助
添加此过滤器
 .filter('customSplit', function() {
  return function(input) {
    console.log(input);
    var ar = input.split(','); // this will make string an array
    return ar;
  };
});

然后将您的HTML View 修改为
   <li ng-repeat="p in products">
    <p ng-repeat="brand in (p.brands | customSplit)">{{ brand }}{{$last ? '' : ', '}}</p>
  </li>

10-02 15:25