我試圖使用角度指令將角度函數綁定到常規js事件(logedIn事件),如here所述。將角色控制器功能的常規自定義js事件綁定
該指令代碼:
evApp.directive('onlogin', function() {
return {
restrict: 'A',
transclude: true,
scope: {
'onlogin': '&'
},
link:function (scope, element, attr) {
//Code to detect when element is pulled goes here
document.addEventListener("logedIn", function (e) {
scope.$eval(attr.onlogin);
});
}
}
});
HTML標記是:
<div onlogin="loggedIn()"></div>
它的工作,但我沒有找到一種方法來傳遞參數「E」是與事件到來在鏈接功能中。我試圖只從html函數處理程序傳遞,並使用鏈接函數中的參數調用函數,但它沒有奏效。 一些事情,如:
<div onlogin="loggedIn"></div>
感謝,阿米海
您應該添加範圍$ apply讓角度現在它需要激發摘要循環,然後調用scope.onlogin({e:e}); – sielakos