Moim zadaniem jest przetwarzanie upuszczonego tekstu za pomocą kąta. Ciągle otrzymuję ten błąd $scope is not defined
w przypadku zdarzeń przeciągania i upuszczania. Jakiś pomysł jak to naprawić?
Już zajrzałem do kanciastych bibliotek przeciągania i upuszczania. Nie pozwalają na przeciąganie i upuszczanie dla prostego tekstu. Większość z nich pracuje z listami. Daj mi znać, jeśli istnieje taki, który pracuje dla tego zadania
Oto plunker:
[http://plnkr.co/edit/egKL13hsHka6RiX4UfSS?p=preview
] [1]
tutaj jest kontrolerem: czy
var app = angular.module("test", []);
app.controller('testCtrl', ['$scope',function ($scope) {
$scope.nouns = ['guitar'];
$scope.verbs = ['play'];
$scope.allowDrop= function (ev) {
ev.preventDefault();
};
$scope.drag= function (ev) {
ev.dataTransfer.setData("Text", ev.target.id);
};
$scope.drop= function (ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("Text");
if(ev.target.id =='verb' && $scope.verbs.indexOf(data) != -1){
ev.target.appendChild(document.getElementById(data));
}
else{
alert(data + ' is not a ' + ev.target.id +'. Try again');
}
};
}]);
w HTML używasz '$ scope.drag'. Nie potrzebujesz '$ scope'. Po prostu użyj 'przeciągnij ($ event)'. – ajkavanagh
Teraz pojawia się komunikat "Uncaught ReferenceError: przeciąganie nie jest zdefiniowane, allowDrop nie jest zdefiniowane". – kumaro
Przepraszam, byłem głupi. Nie możesz robić tego, co robiłeś w Angular, tak jak to robisz. tj. nie można umieszczać funkcji $ scope w zwykłych atrybutach. Musisz użyć wersji 'ng-'. I nie ma żadnych dla zdarzeń przeciągania i upuszczania. Musisz użyć czegoś takiego jak [ngDraggable] (http://ngmodules.org/modules/ngDraggable) –
ajkavanagh