2
그래서이 간단한 스크립트를 사용하여 문제를 격리했습니다. 나는 1.1.1 버전을 선택하면 각기 다른 버전의 테스트를 거쳤습니다. 추가 버튼을 원하는만큼 여러 번 칠 수 있습니다. 최신 버전은이 방법에 문제가있는 것 같습니다. 이것은 버그입니까, 보안 조치입니까 아니면 그냥 지침을 작성해야합니까? 이 fiddle에서 최신 버전을로드하고 있지만이 버전을 제거하고 1.1.1로 변경하면 제대로 작동합니다. 또한 1.2.1도 같은 문제가 있습니다. 모든 팁에 미리 감사드립니다.ng-click은 첫 번째 클릭 후 작동이 멈추지 만 이후 버전에만 적용됩니다.
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);
}
});
감사합니다. 나는 이전 버전이 이것을 허용했기 때문에 왜 이런 일이 일어 났는지 혼란스러워했다. 그래서 저를 이해해주십시오. 인덱스는 값 자체 대신 값을 반복하는 데 사용됩니다. 내가 맞습니까? – Michelangelo
네, 맞습니다. FYI, 귀하의 코드가 AngleJS 1.2.x 이후로 더 이상 리피터에 중복 키를 허용하지 않기 때문에 이전 버전 1.1.1에서 작동하고 최신 버전에서는 작동하지 않는 이유. – lvarayut
@LVarayut 흥미 롭습니다. NgRepeat API (1.2.x 이상)에서 언급 한 $ id() 함수의 동작은 무엇입니까? 예 :'item in items'는'$ id (item)'에 의해 item in track에 해당합니다. ? https : //docs.angularjs.org/api/ng/directive/ngRepeat – klode