Javascript 使用指令加载元素的事件
假设您在angularJS中创建了一个带有属性限制的新指令,比如说Javascript 使用指令加载元素的事件,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,假设您在angularJS中创建了一个带有属性限制的新指令,比如说my directive。 假设具有以下HTML代码: <img src="..." my-directive /> 现在, 我想知道这些信息,因为我想了解在指令的代码中拦截加载事件的效果。正如我的评论所提到的,您可能希望使用预编译链接函数,但也可以使用ng src而不是本机src属性来帮助您,允许angular将自身插入到过程中。然后,您可以在编译之前执行拦截,如下所示: module.directive('i
my directive
。
假设具有以下HTML代码:
<img src="..." my-directive />
现在,
我想知道这些信息,因为我想了解在指令的代码中拦截加载事件的效果。正如我的评论所提到的,您可能希望使用预编译链接函数,但也可以使用ng src
而不是本机src
属性来帮助您,允许angular将自身插入到过程中。然后,您可以在编译之前执行拦截,如下所示:
module.directive('interceptImg',function(){
//other functions on your directive like template and controller
compile:{
return: {
pre: function preLink(scope, iElement, iAttrs, controller){
//you can listen/bind your events here by accessing iElement
}
}
}
})
签出DOM加载事件如何知道Angular?@BenjaminGruenbaum它不必知道,Angular正是出于这个原因将DOM编译为一个多阶段过程。OP。。。您需要在指令中使用预链接函数,而不是普通链接:。。。所以你实际上需要定义两者。读到这里:@BrianVanderbusch这是一个反问句,这样OP就可以自己得出结论:)对不起,我误导了你,这不是我的本意。谢谢你的澄清。尽管考虑…堆栈溢出的目的不是通过首先提供答案,然后提供智慧来帮助提问者学习吗?虽然在这种情况下。。。我明白你的意思。使用advanced Angular,了解DOM和Angular之间的关系以及两者的生命周期是非常重要的。@BrianVanderbusch谢谢!我不知道post-link
和pre-link
。如果我使用link,例如img标记,那么在执行代码时,我可以确保图像数据已加载并准备好进行操作?所以没有理由拦截加载事件?