在AngularJS的链接功能中,我们有link: function(scope, element, attrs)
。 element.attr()
和链接的attrs
之间有什么区别?
答案 0 :(得分:5)
看看这个DEMO:
app.directive("test",function($compile){
return {
restrict:"A",
link:function(scope,element,attrs){
console.log("attrs:" + attrs.name);
console.log("element.attr:" + element.attr("name"));
}
};
});
attrs.name
:显示resolved value
。element.attr("name")
:显示original expression
基本上,attrs
显示的值根据当前范围解决,element.attr()
显示分配给HTML的原始字符串
答案 1 :(得分:1)
该元素是jqlite或jquery对象,其a method attr
而Angular文档定义的attrs是
iAttrs - 实例属性 - 声明的规范化属性列表 在所有指令链接函数之间共享此元素。
请参阅Attributes
https://docs.angularjs.org/api/ng/service/ $ compile