gpt4 book ai didi

javascript - 使用angularjs从子数组中删除项目而不影响父数组

转载 作者:行者123 更新时间:2023-11-30 16:35:41 25 4
gpt4 key购买 nike

这是我的代码

$scope.airLineFilter = function ("jai") {
$scope.Names=["sai","ram","jai","kiran","radha"];
$scope.airLinesFilterData = $scope.Names;
var airLinedata = $scope.airLinesFilterData.indexOf(data);
if (airLinedata > -1) {
$scope.airLinesFilterData.splice(airLinedata, 1);
} else {
$scope.airLinesFilterData.push(data);
}
};

如果我们删除“jai”,那么它将在“$scope.airLinesFilterData”中删除,而不是在“$scope.Names”中删除。

最佳答案

首先,您没有将参数传递给 airLineFilter,而是直接在该函数中提供字符串值。这是错误的。还有你在 indexOf 方法中提到的数据是什么?我已经改变了你的功能如下。

angular.module('myApp', [])
.controller('myCtrl', function($scope){

$scope.airLineFilter = function (value) {
$scope.Names=["sai","ram","jai","kiran","radha"];
$scope.airLinesFilterData = angular.copy($scope.Names);
var airLinedata = $scope.airLinesFilterData.indexOf(value);
if (airLinedata > -1) {
$scope.airLinesFilterData.splice(airLinedata, 1);
} else {
$scope.airLinesFilterData.push(value);
}
};
$scope.airLineFilter("jai");
});

在此调用 airLineFilter 并将“Jai”作为值传递给该函数。现在它将从 $scope.airLinesFilterData 数组中删除“jai”,并且不会从 $scope.Names 中删除值。我用过 angular.copy();

另请参阅此 js fiddle 示例。 http://jsfiddle.net/dprtrj2v/

谢谢

关于javascript - 使用angularjs从子数组中删除项目而不影响父数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32734135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com