Sto utilizzando un modello per creare un menu a comparsa che mostrerà gli avvisi se ce n'è uno nuovo e funziona fino ad ora. Ma volevo aggiungere un avviso manuale, ecco perché ho pensato di aggiungere un testo di input ma Oupss, non posso scrivere sul campo di input e non so nemmeno perché. Il campo di inserimento è una sorta di Disabilitato !!!Problema con più elementi HTML figlio che utilizzano le direttive in AngularJS
mia direttiva è in questo modo:
$scope.tb = { x: 0, y: 0 };
module.directive('myDraggable', function ($document, $interval) {
return {
restrict: 'EA',
replace: true,
//scope : true,
scope: { menu: '=drSrc'},
link: function (scope, element, attr) {
var startX = 0, startY = 0, x = scope.menu.x || 0, y = scope.menu.y || 0, positionX = [], positionY = [], time = [], width, height, moveInterval;
element.draggable({
position: 'relative',
cursor: 'pointer',
top: y + 'px',
left: x + 'px'
});
element.on('mousedown', function (event) {
// Prevent default dragging of selected content
event.preventDefault();
startX = event.pageX - x;
startY = event.pageY - y;
$document.on('mousemove', mousemove);
$document.on('mouseup', mouseup);
$interval.cancel(moveInterval);
});
function mousemove(event) {
y = event.pageY - startY;
x = event.pageX - startX;
//calculate the borders of the document
width = $(document).width() - 350;
height = $(document).height() - 150;
positionX.push(x);
positionY.push(y);
time.push(Date.now());
}
}
}
});
ho cercato di fare ambito vero, ma ho affrontato 2 problemi,: Non riesco a muovere più la mia comparsa (sì il mio menu a comparsa è Draggable) E Anche il testo di input non mostra il mio testo che sto scrivendo.
Ecco il mio modello di cache:
$templateCache.put('control.tpl.html', '<div class="container" my-draggable dr-src="tb"><div><div class="col-sm-1 col-md-1 sidebar"><div class="list-group" ><span href="#" class="list-group-item active" >Manage<input type="text" class="pull-right" placeholder="Type..." /></span><div ng-repeat="Alert in Alerts"><a href="#" ng-click="showLocation(Alert.id)" class="list-group-item" >Alert {{Alert.id}}</span><img src="../images/alert_icon_manage.png" class="pull-right"/> </a></div><span href="#" class="list-group-item active"></span></div></div></div></div>');
Sono nuovo con AngularJS e della direttiva e non so come risolvere questo, ma credo che sia un problema con gli ambiti !! Grazie.
UPDATE:
Se cancello portata: {menu: "= drSrc"} che il lavoro e posso digitare quello che voglio, ma il problema è che il mio elemento non è più trascinabili. Penso che sia correlato agli ambiti. Qualcuno può aiutare, per favore?
Non vedo l'input utilizzando qualsiasi modello o variabile nell'ambito. Dov'è il suo valore dovrebbe essere memorizzato? – pfernandom
Non ho davvero capito cosa intendi? puoi spiegare di più? – Ayyoub
puoi creare un plunker o un violino per dimostrare il tuo problema? –