Ну у меня есть нг повторять примерно так:Получение значения атрибута в нг-повторе из директивы
<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» !!
Так как я могу получить значение моего атрибута?
Я хочу получить идентификатор, чтобы передать его как аргумент моей функции, чтобы удалить интересующий div. Теперь я передаю «1» моей функции, и это всегда удаляет первый элемент моего списка.
Может ли кто-нибудь помочь мне разобраться в этом!
UPDATE
Вот Fiddle для испытания
Как магия, это работает! Я не знаю, почему иногда мы должны использовать их без {{и иногда нам нужно их обернуть {{. Можете ли вы объяснить это мне, пожалуйста? – Ayyoub
@Ayyoub Для * most * из команды с префиксом 'ng' (например, ng-href является исключением) вам не нужно использовать двойные скобки' {{}} ' – m0meni
И для ng-click, например, когда i хотите вызвать функцию, я не использую их ни ng-click = "myFunction (Fire.id)", и это работа, но обернуть ее между скобками не работает – Ayyoub