gpt4 book ai didi

javascript - ng-click 在第一次点击后停止工作,但仅在以后的 Angular 版本中

转载 作者:行者123 更新时间:2023-11-29 17:00:52 25 4
gpt4 key购买 nike

所以我制作了这个非常简单的脚本来隔离问题。我测试了不同版本的 Angular 和 fiddle ,如果你选择版本 1.1.1 它工作正常。您可以根据需要多次点击添加按钮。较新的版本似乎对这种方法有问题。这是错误、安全措施还是我应该只写一个指令?在这个fiddle我正在加载最新版本,但您可以删除此版本并将其更改为 1.1.1,它会起作用。另外,1.2.1 也有同样的问题。预先感谢您提供任何提示。

HTML

<div ng-app="app">
<div ng-controller="ctrl">
<div ng-repeat="item in naam">
<div>{{item}}</div>
</div>
<button ng-click="add()">add</button>
</div>
</div>

JS

var app = angular.module("app", []);

app.controller("ctrl", function ($scope) {
$scope.naam = [
"1",
"2"];
$scope.add = function () {
var x = 3;
var y = 4;
$scope.naam.push(x, y);
}

});

最佳答案

不,这不是 Angular 的错误。实际上,您遇到了一个错误,Error: [ngRepeat:dupes] 因为它试图将相同的键添加到数组中,而 ng-repeat 不允许这样做。

因此,您必须按以下方式使用 track by:

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

这是一个更新的 JSFiddle .

关于javascript - ng-click 在第一次点击后停止工作,但仅在以后的 Angular 版本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28126481/

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