Angularjs 是否拆分为ng重复项?
简单问题-如果我的控制器中有:Angularjs 是否拆分为ng重复项?,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,简单问题-如果我的控制器中有: $scope.somedata = 'Item 1, Item 2'; // set from something else 是否有方法在ngRepeat表达式中拆分视图的某些数据?比如: <div ng-repeat="item in somedata | split(',')">{{item}}</div> 然后 <div ng-repeat="item in items>{{item}}</div> 将|
$scope.somedata = 'Item 1, Item 2'; // set from something else
是否有方法在ngRepeat表达式中拆分视图的某些数据?比如:
<div ng-repeat="item in somedata | split(',')">{{item}}</div>
然后
<div ng-repeat="item in items>{{item}}</div>
将|
右侧的字符串解析为筛选器的名称(通常是字符串格式筛选器,但angular团队也提供了筛选器
筛选器,该筛选器返回一个已筛选数组(由于两者共享相同的名称,因此有点误导)。您可以创建自己的拆分筛选器来完成所需的操作:
angular.module('myFilters', []).
filter('split', function() {
return function(input, delimiter) {
var delimiter = delimiter || ',';
return input.split(delimiter);
}
});
您可以这样使用过滤器:
<div ng-repeat="item in somedata | split">
或指定分隔符:
<div ng-repeat="item in somedata | split:,">
考虑上面的伪代码,因为我还没有测试它
勒普朗克:我想我太迟了,
但为什么不干脆这样做:
<div ng-repeat="item in somedata.split(',')">{{item}}</div>
{{item}
很好用
证据!在此处注释分隔符
angular.module('myFilters', []).
filter('split', function() {
return function(input, delimiter) {
//var delimiter = delimiter || ',';
return input.split(delimiter);
}
});
您可以这样使用过滤器:
还添加了track by$index以避免由于重复值而崩溃
<div ng-repeat="item in somedata | split:',' track by $index">
这个答案更容易解决问题;我认为定义一个过滤器会更容易,但最终这是一个更好的解决方案。不知道这是否是一种“角度”的方式,但我喜欢。最简单的解决方案!这应该是正确的答案
<div ng-repeat="item in somedata | split:',' track by $index">