如何使用AngularJS将元素的id传递到指令中
这是我的第一个指令,也是最基本的指令,但我很难弄明白。这是我的指示:如何使用AngularJS将元素的id传递到指令中,angularjs,Angularjs,这是我的第一个指令,也是最基本的指令,但我很难弄明白。这是我的指示: app.directive('rotateIcon', rotateIcon); rotateIcon.$inject = ['$timeout']; function rotateIcon() { return { link: function (event) { console.log(angular.element(event.target).attr('id'));
app.directive('rotateIcon', rotateIcon);
rotateIcon.$inject = ['$timeout'];
function rotateIcon() {
return {
link: function (event) {
console.log(angular.element(event.target).attr('id'));
}
};
}
和我的HTML代码片段:
<i class="fas fa-sync-alt"
id="wallet-refresh"
ng-click="vm.setBalance();"
rotate-icon></i>
如何将我的
的id捕获为指令内部的变量?链接函数接受4个参数,范围、元素、属性、ctrl
,因此在第3个参数中,您只需要id,或者元素具有的任何其他属性,如属性
例如,您还可以给rotate icon
一个类似rotate icon=“val1”
的值,并像您可以使用的attrs.rotateIcon一样使用它
scope: {
id: '=',
},
指导
app.directive('rotateIcon', rotateIcon);
rotateIcon.$inject = ['$timeout'];
function rotateIcon() {
return {
scope: {
id: '=',
},
link: function (element) {
console.log(element.attr('id'));
}
};
}
和您的html标记:
<i class="fas fa-sync-alt"
id="wallet-refresh"
ng-click="vm.setBalance();"
rotate-icon></i>
先看一下基本知识,你会明白的。朋友,你的回答错了,因为链接
功能不接受事件,也许你指的是点击事件?无论如何,如果您使用的是作用域:{id:'='}
,那么您只需从作用域访问链接:函数(作用域){console.log(scope.id);}