Я добавляю элементы в DOM и даю им выражения позиций из родительского контроллера. По мере добавления каждого нового элемента позиции обновляется по всем существующим элементам DOM. Я хочу, чтобы он обновлял позицию нового элемента директивы.
.directive("addbuttons",
function($compile, PositionService, $timeout){
return {
restrict: 'A',
replace: false,
scope: {
test: "@"
},
link: function ($scope, $element, attrs) {
$timeout(function() {
var posX = 0, posY = 0;
ionic.onGesture('tap', function (e) {
e.gesture.srcEvent.preventDefault();
e.gesture.preventDefault();
switch (e.type) {
case 'tap':
posX = event.gesture.touches[0].pageX;
posY = event.gesture.touches[0].pageY;
//$scope.test = posX;
//console.log(posX);
console.log(posY);
break;
}
}, $element[0]);
});
$element.bind("click", function() {
angular.element(document.getElementById('tagContainer')).prepend($compile("<div class='square' id='square1' style='left: {{test}}px' data-ion-pinch></div>")($scope));
});
}
}
});
Подумайте, что вы можете значительно упростить этот код с помощью ng-click и ng-style, вместо того, чтобы использовать $ compile – koolunix