Angulaire de l'interface utilisateur-les événements de la grille dans la cellule d'en-tête de pas de tir
Je suis en utilisant un headerCellTemplate dans le columDefs de mon interface utilisateur-réseau (pas de ng-grille, mais la nouvelle de réécriture). Dans le html, j'ai une case à cocher. Essentiellement, je suis en train d'ajouter une case à cocher dans l'en-tête d'une colonne toutes les cases afin que je puisse vérifier tous/aucun. La cellule rend très bien avec la case à cocher. Le problème est que le ng-changement dans la case dans l'en-tête n'est jamais déclenché l'événement. En outre, le ng-modèle de la valeur ne change jamais.
En regardant le code, il existe une directive utilisée appelé uiGridHeaderCell donc je suppose que c'est engloutir mon cas ainsi que dans son propre champ d'application de sorte qu'il ne définit jamais la variable dans mon champ d'action.
Moyen de contourner ce problème? Tous les exemples que j'ai rencontré personne n'a jamais essayé de les appeler leur propre méthode à partir de l'en-tête (c'est à dire l'appel de quelque chose en dehors du champ d'application de la directive).
OriginalL'auteur Scott | 2014-10-29
Vous devez vous connecter pour publier un commentaire.
Dans l'interface utilisateur de la grille il y a une fonctionnalité appelée
externalScopes
qui peut être utile pour vous. Le tutoriel est iciC'est la nouvelle
headerCellTemplate
:(Note de l'entrée de type case à cocher sur la ligne 4)
Aussi j'ai ajouté
$event.stopPropagation()
d'arrêter l'épreuve d'atteindre le sous-jacent div.Dans le code HTML que vous avez à écrire:
Regardez cette Plunker pour plus de détails
Il ne semble pas comme externalscopes est pris en charge plus, ce qui est la nouvelle façon de faire cela?
OriginalL'auteur mainguy
Externe-Périmètres n'est plus utilisé que de ~3.0.7 Accéder à Portée de modèles
Vous pouvez maintenant ajouter de la grille.appScope comme ceci dans votre cellTemplate:
Cela devrait être la réponse. La réponse actuelle est plus pris en charge.
D'accord, c'est la bonne réponse à aujourd'hui.
OriginalL'auteur Marcus Showalter
Lors de l'utilisation Angulaire du
controllerAs
syntaxe...ng-click="grid.appScope.vm.editRow(grid, row)"
exemple: http://plnkr.co/edit/D48xcomnXdClccMnl5Jj?p=preview
OriginalL'auteur Homer
J'ai essayé la solution suivante & il a travaillé pour moi.
ng-click="grid.appScope.$parent.mafonction()"
$champ d'application.fonction = myfunction(){
}
OriginalL'auteur Bhaurao Birajdar