如何用angularJS分割一个string
我想知道我是否可以简单地在angularJS中分割一个string。 我有我的
$scope.test = "test1,test2";
在我的控制者和我的观点中,我想要做这样的事情
{{test[0] | split(',')}} {{test[1] | split(',')}}
我已经看到很多关于input和ng-change在控制器中调用一个函数来分割string或ng-list,但在我的情况下没有任何作用。
thx所有。
您可能希望将该function包装到filter中,这样您就不必将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]; } });
从这里,你可以使用一个filter,像你最初的意图
{{test | split:',':0}} {{test | split:',':0}}
更多信息在http://docs.angularjs.org/guide/filter (感谢罗斯)
Plunkr @ http://plnkr.co/edit/NA4UeL
Thx家伙,我终于find了解决scheme,一个非常基本的..在我的控制器,我有
$scope.mySplit = function(string, nb) { var array = string.split(','); return array[nb]; }
在我看来
{{mySplit(string,0)}}
你可以尝试这样的事情:
$scope.test = "test1,test2"; {{test.split(',')[0]}}
现在当你尝试{{test.split(',')[0]}}
你会得到“ test1 ”
当你尝试{{test.split(',')[1]}}
,你会得到“ test2 ”
这里是我的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重复来访问它:
<div ng-repeat="item in array">{{item.name}}{{item.id}}</div>
我希望这有助于某人,
Plunker链接: 在这里
所有的信用从上面的答案去@jwpfox和@Mohideen ibn穆罕默德。