Directive "accès" valeur de l'attribut dans le jasmin test
J'ai un exemple AngularJS directive comme ce <div some-dir="5" />
Comment pourrais-je accéder à cette directive valeur de l'attribut de 5
à l'intérieur de mon test?
describe("some-dir", function() {
var element, scope;
beforeEach(module('app'));
beforeEach(inject(function($rootScope, $compile) {
scope = $rootScope;
element = angular.element('<div><div id="el1" some-dir="5" /></div>');
$compile(element)(scope);
scope.$digest();
}));
it('should be able to get the attribute value', function(){
//get the attr value of some-dir
});
});
Veuillez partager vos jasmin test. Qu'essayez-vous de test?\
Je veux tester que mon directive peux accéder à mon attribut correctement. c'est à dire. la directive est à l'aide de cette valeur - et donc différents val de l'attribut résultat différent.
Je veux tester que mon directive peux accéder à mon attribut correctement. c'est à dire. la directive est à l'aide de cette valeur - et donc différents val de l'attribut résultat différent.
OriginalL'auteur Iladarsda | 2014-11-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez vérifier les valeurs de portée de l'élément à l'aide de son isolateScope méthode. Mais cela ne fonctionne pas lorsque vous passez une valeur juste à côté de la directive attribut, car ces valeurs ne sont pas copiées dans isolés portée.
Dans ce cas, il est possible d'obtenir et de tester cette valeur à l'aide de élément.attributs méthode.
D'abord compiler votre directive html:
Alors vous pouvez vous attendre élément's isolateScope pour retourner un objet avec someValue propriété.
Voici un exemple plunker.
je ne pense pas que ça. pourquoi ne pas vous passer des valeurs d'attributs séparés? Vous pouvez utiliser l'élément de la directive de toute façon: <ma-directive quelques-value="5"></mon-directive>
Oui, pouvaient le faire aussi bien. Mais.. est-ce même possible, par ma question initiale?
ok, j'ai mis à jour ma réponse.
Merci, désolé pour la douleur, cela fonctionne parfaitement, si vous n'êtes pas d'imbrication de la vrd, sera
element.find('selector').attr('my-directive')
travailler ici?OriginalL'auteur halilb