compile函数的作用是对指令的模板进行转换。
link的作用是在模型和视图之间建立联系,包括在元素上注册事件监听。elem.on('change',funcion(){...})
scope在link阶段才会被绑定到元素上,所以在compile阶段操作scope会报错。
对于同一个指令的多个实例,compile只会执行一次;而link对于指令的每个实例都会执行一次。
一般情况下我们只要编写link函数就够了。
注意:若编写了自定义的compile函数,自定义的link函数无效,因为compile函数应该返回一个ilnk函数供后续处理
原文链接:https://www.f2er.com/angularjs/148815.html