Javascript AngularJS/Ionic–;Can';t向数组中添加相同的数据

Javascript AngularJS/Ionic–;Can';t向数组中添加相同的数据,javascript,angularjs,ionic-framework,ionic,Javascript,Angularjs,Ionic Framework,Ionic,我遇到了一个奇怪的问题(我对angular甚至JS都很陌生,但我相信这应该可以工作,因为我在终端中使用node对它进行了测试,结果很好)。我创建了一个按钮,基本上应该将“hi”作为条目添加到数组中。但是,它只添加一次,然后停止工作。我希望它只是继续添加“嗨”,“嗨”…等等-我应该提到这是使用“推” 因此,我尝试了以下方法,获取最后一个条目的索引,然后添加“hi”作为新条目,如下所示: $scope.attend2=函数(){ arrayLength=$scope.eventAttenting.

我遇到了一个奇怪的问题(我对angular甚至JS都很陌生,但我相信这应该可以工作,因为我在终端中使用node对它进行了测试,结果很好)。我创建了一个按钮,基本上应该将“hi”作为条目添加到数组中。但是,它只添加一次,然后停止工作。我希望它只是继续添加“嗨”,“嗨”…等等-我应该提到这是使用“推”

因此,我尝试了以下方法,获取最后一个条目的索引,然后添加“hi”作为新条目,如下所示:

$scope.attend2=函数(){
arrayLength=$scope.eventAttenting.length;
$scope.eventAttenting[arrayLength]=“嗨”;

};尝试在数组中推送值:

$scope.eventAttending.push("Hi");

只需在控制器中定义一个空数组,并在单击按钮的事件时按下字符串消息

示例

angular.module('app',[])
.controller('myCtrl',函数($scope){
$scope.hiArray=[];
$scope.onClick=function(){
$scope.hiArray.push('Hi');
}
})

添加Hi
{{hiArray}}
您可以尝试使阵列多维化:

$scope.eventAttending=[];
$scope.attend2 = function() {
         var arrayLength = $scope.eventAttending.length;
         $scope.eventAttending.push({arrayLength:"Hi"});
};

问题是您在ng repeat中使用该数组,默认情况下,该指令使用内容来区分项目

您可以使用“跟踪方式”来解决此问题,以更改用于跟踪元素的变量:

<div ng-repeat="item in items track by $index">{{item}}</div>
{{item}

Hi Oscar,谢谢你的回复。我尝试了push,但没有效果,同样的事情发生了…非常奇怪。感谢你的建议-我尝试过这个,使用一个空数组,然后使用push添加“hi”,我仍然只能添加一次,然后它停止添加。真的很奇怪……也许问题不在于如何将数据添加到数组中,而在于如何使用这些数据。您是否可能使用ng REPLAT指令显示该数组?是的,这是正确的,我使用的是ng REPLAT。这就是原因!它不打印多个相同的条目?有办法解决这个问题吗?是的,你可以用履带。我在回答中加了一个例子这对你有帮助吗?如果是这样的话,你能接受我的答案吗?这样任何有同样问题的人都能找到答案?