Ajouter $$hashKey pour objet Angulaire
L'angle spécifique de la propriété sur les objets énumérés $$hashKey
peut être utilisé pour beaucoup de choses.
Par exemple DOM-ciblage;
<div ng-repeat="obj in objects">
<label for="field-{{obj.$$hashKey}}">
Label
</label>
<input type="text" id="field-{{obj.$$hashKey}}" />
</div>
En quelque étrange cas, je suis en train de vivre maintenant, $$hashKey prop n'est pas encore fixé sur un objet que je veux y accéder, même si elle est répétée, Angulaire.
Est-il un moyen de définir cette propriété vous-même lors de l'initialisation de l'objet?
Edit: Ma conjecture est qu'il y a une certaine forme de l'ordonnance d'exécution de la question, à laquelle j'ai accès à la propriété lorsque Angulaire a pas encore procédé de la répétition.
Je suis profondément en regardant un objet, à l'intérieur de cet objet est un tableau avec des objets qui se répète. C'est aussi sur l'un de ces objets que j'ai besoin d'accéder à la $$hashKey
bien sur.
Exemple Simple;
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/
Ma question est assez simple. Reproduisant le problème va prendre du temps, même pour moi, comme je l'ai foirer un lot spécifique de l'entreprise code que je ne peux pas afficher publiquement.
Je suis d'accord que c'est simple, je ne suis pas en vous demandant de post company code, il suffit de reproduire le problème à l'aide de code factice.
Vérifier mon montage, je pense que cela devrait le rendre plus clair sur ce qui se passe.
OriginalL'auteur Rasmus | 2014-05-06
Vous devez vous connecter pour publier un commentaire.
Utiliser $timeout sans délai de la valeur à reporter jusqu'à ce que le $$hashKey propriété est disponible:
Un travail de la fourche de votre Violon
Peut être vaut la peine d'explorer. Je pense que vous trouverez que c'est le comportement attendu que vous avez besoin de donner Angulaire, une chance pour la décoration de votre objet avec des choses comme $$hashKey avant d'y accéder. Si vous trouvez dans le cas contraire, il serait digne d'une mise à jour ici.
OriginalL'auteur Marc Kline
J'ai créé un mannequin exemple basé sur vous code, voir ici: http://plnkr.co/edit/9PNc6bcy1TO4Zaeyuvwq?p=preview
HTML
J'espère que cela jette une certaine lumière sur les $$hashkey
Me semble que le problème a plus à faire avec ses $regarder et quelque chose de spécifique à getHashKey(), ce qui n'est pas exprimé suffisamment dans ses exemples de code et est donc difficile de les aider.
Le
getHashKey
fonction dans mon exemple est juste un mannequin. Juste faire semblant de lire le$$hashKey
de la propriété. Votre code n'est pas de la réplication de mon scénario un peu, c'est pas une réponse ou une solution à ma question. Je ne sais vraiment pas comment simplifier le scénario le plus. C'est aussi simple que cela.voir mise à jour plunker plnkr.co/modifier/9PNc6bcy1TO4Zaeyuvwq?p=preview
En ce qui concerne votre question, vous devez définir votre propre hashKey, avec un autre nom de variable, de sorte que vous pouvez l'utiliser, plutôt que de compter sur les $$hashKey, si vous avez vraiment besoin d'une valeur de hachage
OriginalL'auteur SoluableNonagon