Javascript ng重复不使用数组
我不熟悉AngularJs和Javascript,所以我将尽我所能解释这个问题。我的角度控制器从MVC控制器中的方法接收数据。每次运行脚本时,MVC控制器返回1项。每次在无序列表中使用ng repeat返回新项目时,我都会尝试动态扩展html页面中的项目列表。当我使用ng repeat时,第一个项目直到添加第二个项目后才显示,然后它们一起显示。如果我添加第三个项目,这些项目会显示得很奇怪。以下是使用ng repeat的迭代示例: 迭代1: 空白 迭代2: 项目1 项目2 迭代3: [“第1项”、“第2项”] 项目3 第三次迭代显示为括号和引号,而不是无序列表的项目符号。有人能告诉我发生了什么事吗 以下是角度控制器代码:Javascript ng重复不使用数组,javascript,angularjs,Javascript,Angularjs,我不熟悉AngularJs和Javascript,所以我将尽我所能解释这个问题。我的角度控制器从MVC控制器中的方法接收数据。每次运行脚本时,MVC控制器返回1项。每次在无序列表中使用ng repeat返回新项目时,我都会尝试动态扩展html页面中的项目列表。当我使用ng repeat时,第一个项目直到添加第二个项目后才显示,然后它们一起显示。如果我添加第三个项目,这些项目会显示得很奇怪。以下是使用ng repeat的迭代示例: 迭代1: 空白 迭代2: 项目1 项目2 迭代3: [“第1项”、
$scope.addState = function () {
//debugger;
companyService.addState($scope.form)
.success(function (data) {
if (pass == 0) {
$scope.addedStates = data;
pass = pass + 1;
}
else {
addedStates = [
angular.copy($scope.addedStates),
data
];
$scope.addedStates = addedStates;
}
$scope.rmgStates = $scope.rmgStates - 1;
if($scope.rmgStates == 0)
{
$scope.canSubmit = true;
$scope.lastState = false;
}
else {
$scope.canSubmit = false;
$scope.lastState = true;
}
})
};
以下是html代码:
You have added the following States:<br />
<ul>
<li ng-repeat="item in addedStates">
{{item}}
</li>
</ul>
您已添加以下状态:
-
{{item}}
非常感谢您提供的所有帮助。问题是,在第一步中,您将addedStates设置为添加的单个状态——因为ng repeat需要和数组,所以它没有显示任何内容。在第一次之后的过程中,您将获取以前的加法状态,用数组包装它,然后将其与新状态一起插入数组中,因此每次都会更深一层--这就是为什么第二次显示正确的格式,但第三次显示的是数组中的数组 相反,您应该初始化并清空数组,在每次成功请求添加状态时,只需将新状态推送到现有数组中 试试这个:
$scope.addedStates = [];
$scope.addState = function () {
//debugger;
companyService.addState($scope.form)
.success(function (data) {
$scope.addedStates.push(angular.copy(data));
$scope.rmgStates = $scope.rmgStates - 1;
if($scope.rmgStates == 0)
{
$scope.canSubmit = true;
$scope.lastState = false;
}
else {
$scope.canSubmit = false;
$scope.lastState = true;
}
})
};
在数组中添加新项的方法如下。使用:
$scope.addedStates.push(data);
而不是:
if (pass == 0) {
$scope.addedStates = data;
pass = pass + 1;
}
else {
addedStates = [
angular.copy($scope.addedStates),
data
];
$scope.addedStates = addedStates;
}
令人惊叹的!就像我需要的那样!