AngularJS / Ionic - 无法向数组添加相同的数据

时间:2015-12-16 12:38:16

标签: javascript angularjs ionic-framework ionic

我有一个奇怪的问题(我对角度甚至JS都很新,但是我相信这应该可行,因为我在终端中使用节点测试它并且很好)。我创建了一个按钮,基本上应该添加“hi”作为数组的条目。但是,它只添加一次,然后停止工作。我预计它会继续添加“hi”,“hi”......等等。 - 我应该提到这是使用“推”。

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

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

我仍然遇到同样的问题。我首先输入最后一个数组条目的索引作为数据,这将工作正常,因为每次添加的数据是不同的(例如eventAttending [1] = 1然后eventAttending [2] = 2),但它似乎当它是相同的数据时不起作用;例如eventAttending [1] =“hi”然后eventAttending [2] =“hi” - 在这种情况下,我在数组索引1中得到“hi”,但它停在那里。

感谢您的帮助,

克里斯

4 个答案:

答案 0 :(得分:1)

尝试按下数组中的值:

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

答案 1 :(得分:1)

只需在控制器中定义一个空数组,然后在按钮

的点击事件上按下字符串消息

示例



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

<!DOCTYPE html>
<html>

  <head>
    <script data-require="angular.js@*" data-semver="1.2.10" src="http://code.angularjs.org/1.2.10/angular.js"></script>
    <script src="script.js"></script>
  </head>
  <body ng-app="app" ng-controller="myCtrl">
    <button ng-click="onClick()" >Add Hi</button> <br>
    {{hiArray}}
  </body>

</html>
&#13;
&#13;
&#13;

<强> See Plnkr

答案 2 :(得分:0)

您可以尝试使阵列具有多维度:

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

答案 3 :(得分:0)

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

您可以使用&#39;跟踪来解决问题。更改用于跟踪元素的变量:

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