从指令

时间:2015-05-11 12:38:54

标签: angularjs angularjs-directive angularjs-ng-repeat

好吧,我有这样的重复:

<div ng-repeat="X in Xs" ><a id="X.id" my-directive>Blabla {{X.Number}}</a></div>

我的指令是这样的:

module.directive('myDirective', ['$document', function ($document) {
return {
    replace : true,
    link: function (scope, element, attr) {

    element.on('mousedown', function (event) {
        // Prevent default dragging of selected content
        event.preventDefault();
        startX = event.pageX - x;
        startY = event.pageY - y;
        $document.on('mouseup', mouseup);
    });

    function mouseup() {
        $document.off('mouseup', mouseup);
        console.log(attr.id);
        scope.DeleteAlert(1); //Function to delete an element from Scope table
    }
}
};
}]);

实际上我无法获得“id”的值,它正在返回“X.id”!!

那我怎样才能获得属性的值?

我想获取id,以便将其作为一个参数传递给我的函数来删除有问题的div。现在,我将“1”传递给我的函数,这就是删除我列表中的第一个元素。

任何人都可以帮我解决一下!

更新

这是一个Fiddle用于测试

1 个答案:

答案 0 :(得分:2)

由于您在ID中使用它,请将其包装在{{就像您在内容中所做的那样:

parent.document.addEventListener('CustomEvent', function(e) {
    if(e.targetFrame == "myTargetFrame") {
        // codes here
    }
});

Working fiddle