我有看起来像这样的json(我无法更改):

Desc: First data - Second data


我在显示它:

<div ng-repeat="b in a.Items">{{b.Desc}}</div>


但是我需要在“第一数据”下显示“第二数据”,而不能显示“-”

所以现在显示为:

<div>First data - Second data</div>


我需要它像

<div><p>First data</p><p>Second data</p></div>


要么

<div>First data<br/>Second data</div>


如何将其断开并删除“-”?在angularjs中是否有选项或过滤器?

最佳答案

使用$ filter调整角度。在字符串不包含“-”字符的情况下,请务必小心。因此建议使用$ filter



var app = angular.module("App", []);
app.controller('AppController', function($scope) {
   $scope.a = {Items:["XX-BBB", "CCC-AAA", "-VVV", "FFF-"]};
}).filter('splitValue', function() {
    var indexAllItens = 0;
    return function(input, index) {
       console.log(input + ' ' + index)
        var data = input.split('-'), str = '';
        if(data.length >= index)
            str = data[index];
        return str;
    };
})

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="App" ng-controller="AppController">
  <ul ng-repeat="b in a.Items">
     <li>{{b | splitValue:0}}</li> <li>{{b | splitValue:1}}</li>
  </ul>
</div>

07-26 09:17
查看更多