从后端,我得到一个字符串construction,apply
- 这意味着两个单词在一起。
现在我需要将它们分成两个单词,我需要使用ng-repeat
。我创建了filter
来做到这一点。它将字符串拆分为长度为2的数组,但如何在ng-repeat
中使用它?
这是我的代码:
<div class="column design">
//app.Phase here is : `construction,apply`
<span ng-repeat="value in activeApp.Phase || commaBreak">{{$index}}</span> //instead of index i would like to show the word.
</div>
我的过滤器:
angular.module("tcpApp")
.filter("commaBreak",
function () {
return function (value) {
if (!value.length) return;
return value.split(',');
}
});
我在这里做错了什么?
答案 0 :(得分:4)
这是:
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', ['$scope', function($scope) {
$scope.name = "construction,apply";
}]);
myApp.filter("commaBreak",
function () {
return function ( value ) {
if( !value.length ) return;
return value.split(',');
}
});
在html部分,您需要使用单个OR。
<div ng-controller="MyCtrl">
<p ng-repeat="value in name | commaBreak">{{value}}</p>
</div>
以下是工作示例:http://jsfiddle.net/HB7LU/16459/
答案 1 :(得分:2)
我认为这应该有效:
<div class="column design">
<span ng-repeat="value in activeApp.Phase.split(',') || commaBreak">{{$index}}</span> //instead of index i would like to show the word.
</div>