Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用AngularJS将元素的id传递到指令中_Angularjs - Fatal编程技术网

如何使用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);}