Моя директива Ссылка приведена ниже -Жасмин не работает для директивы ссылку на документ нажмите
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();
});
}
И мой жасмин TC для тестирования Emit приводится ниже -
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();
});
Испустите событие должно были вызваны и пойманы, но это никогда не срабатывало. Я получаю сообщение об ошибке: «Ожидаемый spy $ emit был вызван с ['closeDetailBox', ''], но он никогда не вызывался».
Я занимаюсь этой проблемой с 2-х дней, не смог получить исправление, помощь PLS!
Спасибо вам большое! Вызов функции связи был всем, что требовалось. Теперь это работает как шарм. Спасибо. –
@anandpatil вы можете показать, как вы активировали функцию ссылки? Вы передавали параметры области, элемента, attrs? –
Мне просто пришлось использовать директиву.link() без каких-либо параметров, так как я не требовал их в своей функции. Но если они вам нужны, вам нужно их передать. –