Meine Richtlinie Link-Funktion unten gegeben -Jasmin arbeitet nicht für Link-Richtlinie über Dokument klicken Sie
link:function(scope,elem,attr){
$(document).on("click",function(event){
var target = $(event.target);
if(target.is('.detailBox') || target.closest('.detailBox').length){
return;
}
scope.$emit('closeDetailBox');
scope.$apply();
});
}
Und mein Jasmin TC für die emit Prüfung unten angegeben wird -
it('Some other box click', function() {
spyOn($rootScope, '$emit');
var theboxelement = '<button class="thebox"></button>';
var thebox = $(theboxelement);
$('body').append(thebox);
var spyEvent = spyOnEvent('.thebox', 'click');
thebox.trigger("click");
expect($rootScope.$emit).toHaveBeenCalledWith('closeDetailBox',theboxelement);
thebox.remove();
});
Die emit Ereignis sollte wurden ausgelöst und gefangen, aber es wurde nie ausgelöst. Ich bekomme den Fehler - "Expected spy $ emit wurde mit ['closeDetailBox' '] aufgerufen, aber es wurde nie aufgerufen."
Ich habe mit diesem Problem seit 2 Tagen beschäftigt, konnte nicht die Lösung erhalten, bitte Hilfe!
Vielen Dank! Der Aufruf der Link-Funktion war alles was benötigt wurde. Jetzt funktioniert es wie ein Zauber. Vielen Dank. –
@anandpatil können Sie zeigen, wie Sie Link-Funktion aufgerufen haben? Haben Sie Umfang, Element, AttrS Parameter übergeben? –
Ich musste nur directed.link() verwenden, ohne irgendwelche Parameter, da ich sie in meiner Funktion nicht benötigt habe. Aber wenn Sie sie brauchen, müssen Sie sie weitergeben. –