AngularJs : วิธีแก้ไข Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys

Jquery & Ajax Knowledge ความรู้เกี่ยวกับ Javascript , Jquery ม Ajax

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 9691
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

AngularJs : วิธีแก้ไข Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys

โพสต์โดย thatsawan » 22/07/2016 12:32 am

Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: (key, value) in topicrow.TAGS, Duplicate key: string:กิจกรรม, Duplicate value: กิจกรรม

ปัญหาเกิดจาก ใน array ที่ส่งมา วน loop นั้นมีค่า value ซ้ำกัน

โค้ด: เลือกทั้งหมด

 <span class="badge_tag" ng-repeat="(key, value) in topicrow.TAGS ">
      <a class="text_tags" ng-click="search('{KEYWORD}', value)">[[value]]</a>
           </span>

วิธีแก้ไข ให้เพิ่มคำว่า track by $index ต่อท้าย

โค้ด: เลือกทั้งหมด

 <span class="badge_tag" ng-repeat="(key, value) in topicrow.TAGS track by $index">
       <a class="text_tags" ng-click="search('{KEYWORD}', value)">[[value]]</a>
      </span>



อ่านเพิ่มเติมที่ https://docs.angularjs.org/error/ngRepeat/dupes

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 2 และ บุคคลทั่วไป 0 ท่าน