Thuộc tính góc cụ thể trên các đối tượng được liệt kê $$hashKey
có thể được sử dụng cho nhiều thứ.
Ví dụ: nhắm mục tiêu theo DOM;
<div ng-repeat="obj in objects">
<label for="field-{{obj.$$hashKey}}">
Label
</label>
<input type="text" id="field-{{obj.$$hashKey}}" />
</div>
Trong một số trường hợp lạ tôi đang gặp bây giờ $$ hashKey prop chưa được đặt trên đối tượng tôi muốn truy cập ngay cả khi nó được lặp lại với Angular. Có cách nào để tự đặt thuộc tính này khi khởi tạo đối tượng không?
Chỉnh sửa: Tôi đoán là có một số hình thức của vấn đề trật tự thực hiện, rằng tôi truy cập vào tài sản khi Angular vẫn chưa xử lý sự lặp lại. Tôi đang xem sâu một đối tượng, trong đối tượng đó là một mảng với các đối tượng được lặp lại. Đó cũng là một trong những đối tượng mà tôi cần truy cập vào thuộc tính $$hashKey
.
Ví dụ đơn giản;
var MyController = function($scope, Obj)
{
$scope.obj = {
list: [obj, obj, obj, obj]
};
$scope.$watch("obj", function()
{
var lastObj = $scope.obj.list[$scope.obj.list.length - 1];
console.log(lastObj.$$hashKey); // Undefined?
}, true);
$scope.addObj = function()
{
$scope.obj.list.push(new Obj());
};
};
Edit2: jsFiddle http://jsfiddle.net/2sbWp/2/
Hãy tạo một plunker hoặc jsFiddle, thật khó để nhân rộng các vấn đề bạn đang gặp – SoluableNonagon
Câu hỏi của tôi khá đơn giản. Tái tạo sự cố sẽ mất thời gian ngay cả đối với tôi vì tôi phải loại bỏ nhiều mã dành riêng cho công ty mà tôi không thể hiển thị công khai. – Rasmus
Tôi đồng ý rằng nó đơn giản, tôi không yêu cầu bạn đăng mã công ty, chỉ để nhân rộng vấn đề bằng cách sử dụng mã giả. – SoluableNonagon