Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用angularJS拆分字符串_Javascript_Angularjs - Fatal编程技术网

Javascript 如何使用angularJS拆分字符串

Javascript 如何使用angularJS拆分字符串,javascript,angularjs,Javascript,Angularjs,我想知道我是否可以简单地用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的东西,但在我的例子中没有任何效果


谢谢大家。

谢谢各位,我终于找到了解决方案,一个非常基本的解决方案。。 我的控制器里有

$scope.mySplit = function(string, nb) {
    var array = string.split(',');
    return array[nb];
}
在我看来

{{mySplit(string,0)}}

您可能希望将该功能包装到一个过滤器中,这样您就不必将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}}
更多信息请访问(谢谢ross)


你可以试试这样的东西:

$scope.test = "test1,test2";
{{test.split(',')[0]}}
<div ng-repeat="item in array">{{item.name}}{{item.id}}</div>
现在,当您尝试
{{test.split(',')[0]}

当您尝试
{{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进行访问,如下所示:

$scope.test = "test1,test2";
{{test.split(',')[0]}}
<div ng-repeat="item in array">{{item.name}}{{item.id}}</div>
{{item.name}{{{item.id}

我希望这对某人有所帮助,
Plunker链接:

以上答案中的所有积分归@jwpfox和@Mohideen ibn Mohammed。

拆分后的
{{}
表达式输出应该是什么
{{}
表达式被视为字符串,而我猜您希望
split
返回一个数组。您是否可以使用纯JavaScript拆分字符串,对不起,卢卡斯。祝贺你自己找到了解决方案。你应该考虑自己的答案。这最好通过创建一个自定义过滤器——最好使用一个过滤器,就像上面的答案一样,参数需要被传递:’-分隔:<代码> {{表达式〉过滤器:AgMutt1:AgMuffTe2:…} }/Cudio>,所以在这种情况下:<代码> {{测试}拆分:“,”:0 } < /代码>。我猜这在过去6个月的某个时候发生了变化。这很明显。他没有使用指令或函数,而是直接在视图中使用string对象的split方法。吻。@veljasije去链接吧,我在plunkr上做得很清楚,现在我在谷歌上搜索它时感觉很傻:-)