如何在Angular中将ng-attr-id转换为id

时间:2015-05-29 21:19:32

标签: javascript angularjs html5 jqlite

我在下面的链接中使用Angular JS中的拖放库,它工作得很好,因为它在div中没有​​id。

https://jasonturim.wordpress.com/2013/09/01/angularjs-drag-and-drop/

我正在使用HTML 5拖放功能,但我面临的问题是通过Angular J S生成每个的动态ID。我已经尝试了ng-attr-id和id两者但是我无法获取{{通过id我的元素的1}}。

angular.element(element l).a t tr("id")

1 个答案:

答案 0 :(得分:1)

访问“lvl-drag-drop.js”文件中的属性是不正确的,如果您使用的是指令,则可以访问第三个参数中的属性。

  

link:function(范围,el, attrs ,控制器)

请参阅此示例中的评论:

module.directive('lvlDraggable', ['$rootScope', 'uuid', function($rootScope, uuid) {
    return {
        restrict: 'A',
        link: function(scope, el, attrs, controller) {

            //angular.element is no longer necessary if it refers to the element.
            el.attr("draggable", "true");

            //Incorrect
            var id = angular.element(el).attr("id");
            //This is correct
            var id = attrs.id;

            if (!id) {
                id = uuid.new();
                el.attr("id", id); //Also here
            }

            //.. more ...
        }
    }
}]);