枚舉對象的角度特定屬性$$hashKey
可用於很多事情。
例如DOM-targeting;
<div ng-repeat="obj in objects">
<label for="field-{{obj.$$hashKey}}">
Label
</label>
<input type="text" id="field-{{obj.$$hashKey}}" />
</div>
在我遇到現在$$ hashKey道具還沒有一個對象我想訪問它,即使它被重複角上設置了一些奇怪的情況。 初始化對象時有沒有辦法自己設置這個屬性?
編輯:我的猜測是存在某種形式的執行順序問題,我在Angular尚未處理重複時訪問屬性。 我深深地注視着一個物體,在那個物體內是一個有重複的物體的數組。這也是我需要訪問$$hashKey
屬性的那些對象之一。
簡單的例子;
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/
請創建plunker或的jsfiddle,這是難以複製的問題,你遇到 – SoluableNonagon
我的問題非常簡單。 即使對我來說,複製問題也需要時間,因爲我必須去掉許多公司特定的代碼,而這些代碼我無法公開顯示。 – Rasmus
我同意這很簡單,我不要求您發佈公司代碼,只是爲了使用虛擬代碼複製問題。 – SoluableNonagon