Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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
Angularjs 角度隐藏ng重复中数组中的第一个元素而不清空数组_Angularjs_Angularjs Ng Repeat - Fatal编程技术网

Angularjs 角度隐藏ng重复中数组中的第一个元素而不清空数组

Angularjs 角度隐藏ng重复中数组中的第一个元素而不清空数组,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,试着做这样的事情 <md-card class="saved-search animated" ng-repeat="search in vm.savedSearches" md-theme="default" md-theme-watch> <md-card-header> <md-card-header-text> <span class="md-title md-body-2">{{search

试着做这样的事情

<md-card class="saved-search animated" ng-repeat="search in vm.savedSearches" md-theme="default" md-theme-watch>
    <md-card-header>
        <md-card-header-text>
            <span class="md-title md-body-2">{{search.address[0]}}</span>
            <span class="md-subhead">{{search.address | remainingAddress}}</span>
        </md-card-header-text>

function remainingAddress() {
    return remainingAddress;

    ////////////////

    function remainingAddress(input) {
        let newArray = input;
        return input ? newArray.shift().join(',') : input;
    }
}

{{search.address[0]}
{{search.address | remainingAddress}
函数remainingAddress(){
返回剩余地址;
////////////////
函数剩余地址(输入){
让newArray=input;
返回输入?newArray.shift().join(','):输入;
}
}

我想显示的是地址的第一行作为标题,它起作用,地址的剩余部分显示在下一行。但问题是剩余的地址和shift()总是返回空数组,我想是因为多重shift()清除了循环中的数组。

shift不返回数组,它返回移除的数组元素,试试这个

function remainingAddress() {
    return remainingAddress;

    ////////////////

    function remainingAddress(input) {
        let newArray = input;
        if(input){
            newArray.shift()
            return newArray.join(',')
        }
        return input;
    }
}

shift不返回数组,它返回已删除的数组元素,请尝试以下操作

function remainingAddress() {
    return remainingAddress;

    ////////////////

    function remainingAddress(input) {
        let newArray = input;
        if(input){
            newArray.shift()
            return newArray.join(',')
        }
        return input;
    }
}

您可以将
limito
过滤器与
数组一起使用。join
方法:

<span class="md-title md-body-2">{{search.address[0]}}</span>
<span class="md-subhead">
    {{ (search.address | limitTo: -(search.address.length - 1)).join(',') }}
</span>
{{search.address[0]}
{(search.address | limito:-(search.address.length-1)).join(',')}
通过将负数
-n
传递给
limito
过滤器,您要求它返回数组的最后
n


参考:。

您可以使用
limito
过滤器和
数组。join
方法:

<span class="md-title md-body-2">{{search.address[0]}}</span>
<span class="md-subhead">
    {{ (search.address | limitTo: -(search.address.length - 1)).join(',') }}
</span>
{{search.address[0]}
{(search.address | limito:-(search.address.length-1)).join(',')}
通过将负数
-n
传递给
limito
过滤器,您要求它返回数组的最后
n


参考:。

是的,很抱歉我也尝试了类似的方法,它仍然会完全清除原始数组,我不太理解。我想这是因为它处于循环中,它只是完全清除了数组。是的,很抱歉我也尝试了类似的方法,它仍然会完全清除原始数组,我真的不明白。我想这是因为它在一个循环中,它只是完全清除了数组。是的,就是这样,我不知道这个负面的把戏。多谢了,就这样,我不知道这个消极的把戏。谢谢