$compile.directive.Attributes

一个包含规范的DOM元素属性并且能在指令的compile和link函数之间共享的对象。这个值反映了当前绑定的状态{{}}。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.red{color:red}
.blue{color:blue}
</style>
<script src="js/angular.min.js"></script>
</head>
<body>
<div ng-app="Demo" ng-controller="testCtrl">
<div class="blue testClass" new-dir>11111</div>
</div>
<script>
(function () {
angular.module('Demo',[])
.directive('newDir',newDir)
.controller('testCtrl',angular.noop)
function newDir() {
return {
restrict:'ACEM',
link:function (scope,element,attrs) {
attrs.$addClass('red');//添加class
attrs.$removeClass('blue');//删除class
attrs.$updateClass('newclass','testclass');//替换(‘新的’,‘旧的’)
element.bind('mouseover',function () {
attrs.$set('set-attr','hellow')
})//设置属性
var n=0;
attrs.$observe('set-attr',function () {
console.log(n++)
})//观察内部插入的属性(只观察一次)
}
}
}
})();
</script>
</body>
</html>
原文地址:https://www.cnblogs.com/qiudongjie/p/6841131.html