我想知道我是否可以简单地在 angularJS 中拆分字符串。我有我的
$scope.test = "test1,test2";
在我的控制器中,在我看来,我想做这样的事情
{{test[0] | split(',')}}
{{test[1] | split(',')}}
我已经看到很多关于 input 和 ng-change 调用控制器中的函数来拆分字符串或使用 ng-list 的函数,但在我的情况下没有任何作用。
谢谢大家。
我想知道我是否可以简单地在 angularJS 中拆分字符串。我有我的
$scope.test = "test1,test2";
在我的控制器中,在我看来,我想做这样的事情
{{test[0] | split(',')}}
{{test[1] | split(',')}}
我已经看到很多关于 input 和 ng-change 调用控制器中的函数来拆分字符串或使用 ng-list 的函数,但在我的情况下没有任何作用。
谢谢大家。
您可能希望将该功能包装到过滤器中,这样您就不必将 mySplit 函数放入所有控制器中。例如
angular.module('myModule', [])
.filter('split', function() {
return function(input, splitChar, splitIndex) {
// do some bounds checking here to ensure it has that index
return input.split(splitChar)[splitIndex];
}
});
从这里,您可以按照最初的意图使用过滤器
{{test | split:',':0}}
{{test | split:',':0}}
更多信息请访问http://docs.angularjs.org/guide/filter(感谢 ross)
Plunkr @ http://plnkr.co/edit/NA4UeL
Thx 伙计们,我终于找到了解决方案,一个非常基本的解决方案。在我的控制器中,我有
$scope.mySplit = function(string, nb) {
var array = string.split(',');
return array[nb];
}
在我看来
{{mySplit(string,0)}}
你可以尝试这样的事情:
$scope.test = "test1,test2";
{{test.split(',')[0]}}
现在你会在你尝试的时候得到“ test1 ”{{test.split(',')[0]}}
当你尝试时你会得到“ test2 ”{{test.split(',')[1]}}
这是我的plnkr:
你可以试试这个:
$scope.testdata = [{ 'name': 'name,id' }, {'name':'someName,someId'}]
$scope.array= [];
angular.forEach($scope.testdata, function (value, key) {
$scope.array.push({ 'name': value.name.split(',')[0], 'id': value.name.split(',')[1] });
});
console.log($scope.array)
这样,您可以保存数据以供以后使用,并通过使用 ng-repeat 来访问它,如下所示:
<div ng-repeat="item in array">{{item.name}}{{item.id}}</div>
我希望这对某人有帮助,
Plunker 链接:这里
所有学分都来自上述答案的@jwpfox 和@Mohideen ibn Mohammed。