我有看起来像这样的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>