AngularJS/Ionic–Can't将相同的数据添加到数组中
AngularJS/Ionic – Can't add identical data to an array
我遇到了一个奇怪的问题(我对angular甚至JS都很陌生,但我相信这应该可以工作,因为我在终端中使用node测试了它,它很好)。我已经创建了一个按钮,基本上应该添加"hi"作为数组的一个条目。但是,它只添加一次,然后停止工作。我原以为它会继续加上"嗨"、"嗨"。。。等等——我应该提到这是使用"push"。
因此,我尝试了以下操作,获取最后一个条目的索引,然后添加"hi"作为新条目,如下所示:
$scope.attend2 = function() {
arrayLength = $scope.eventAttending.length;
$scope.eventAttending[arrayLength] = "Hi";
};
我仍然有同样的问题。我首先输入了最后一个数组项的索引作为数据,这会很好,因为每次添加的数据都不同(例如eventAttending[1]=1,然后eventAttending[2]=2),然而,当它是相同的数据时,它似乎不起作用;例如,eventAttending[1]="hi",然后eventAttending[2]="嗨"——在这种情况下,我在数组索引1中得到"hi"。
感谢您的帮助,
Chris
尝试推送数组中的值:
$scope.eventAttending.push("Hi");
只需在控制器中定义一个空数组,并在按钮的点击事件上按下字符串消息
示例
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>
请参阅Plnkr
您可以尝试使数组具有多维性:
$scope.eventAttending=[];
$scope.attend2 = function() {
var arrayLength = $scope.eventAttending.length;
$scope.eventAttending.push({arrayLength:"Hi"});
};
问题是在ng repeat中使用该数组,默认情况下,该指令使用内容来区分项。
您可以使用"track by"来更改用于跟踪元素的变量:
<div ng-repeat="item in items track by $index">{{item}}</div>
相关文章:
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 将嵌套对象数据添加到窗体中
- 挖空.js - 向服务器端发送的数据添加属性
- 如何将数据添加到json的子节点
- 无法将 json 数据添加到 pyjade 中的数据属性
- 通过变量将数据添加到图形中
- 预先构建的GUI,用于上传.csv并将数据添加到mysql数据库
- Fullcalendar-我们可以将自定义数据添加到我们的活动Json数据中吗
- 将多个csv文件中的时间戳数据添加到highchart中
- 将文本框中的数据添加到表Javascript、HTML中
- 无法使用asp.net mvc将数据添加到数据库中
- 用javascript将数据添加到对象数组中
- 我该如何将自己的数据添加到响应迅速的美国各州地图中
- 在$.ajax调用中将附加数据添加到jQuery包装的对象数据中
- 将新的系列[0]数据添加到现有的高位图表中
- 为高图实时数据添加一个附加点
- 如何在D3中为用于显示饼图的数据添加键
- CSS 为 JSON 数据添加两行字符
- 将数据添加到 ko.observablearray 的末尾
- 向数据表中的 json 数据添加文本