我向鏈路功能如下 -茉莉花不工作的鏈接指令的文件點擊
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下面給出 -
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();
});
了,emit事件應已被觸發並被捕獲,但從未被觸發。我得到錯誤 - 「期待間諜$發出已與['closeDetailBox','']調用,但它從來沒有被調用。」
我一直在處理這個問題,因爲2天,無法得到解決,請幫助!
非常感謝你!調用鏈接函數是所有必需的。現在它像一個魅力。謝謝。 –
@anandpatil你能展示你如何調用鏈接函數嗎?你有沒有通過範圍,元素,attrs參數? –
我只需要使用directive.link(),沒有任何參數,因爲我不需要它們在我的函數中。但如果你需要他們,你需要通過他們。 –