Моя задача - обработать отброшенный текст с помощью углового. Я продолжаю получать эту ошибку $scope is not defined
о событиях перетаскивания. Любая идея, как это исправить?
Я уже изучал угловые библиотеки перетаскивания. Они не позволяют перетаскивать для простого текста. Большинство из них работают со списками. Дайте мне знать, если есть один, который работает для выполнения этой задачи
Вот plunker:
[http://plnkr.co/edit/egKL13hsHka6RiX4UfSS?p=preview
] [1]
здесь контроллер:
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');
}
};
}]);
В вашем HTML вы используете '$ scope.drag'. Вам не нужна '$ scope'. Просто используйте 'drag ($ event)'. – ajkavanagh
Теперь он говорит: «Неотдача ReferenceError: перетаскивание не определено, allowDrop не определено». – kumaro
Извините, я был глуп. Вы не можете делать то, что делаете в Angular, как вы это делаете. т. е. вы не можете поместить функции $ scope в обычные атрибуты. Вы должны использовать версии 'ng-'. И нет никаких событий перетаскивания. Вам нужно использовать что-то вроде [ngDraggable] (http://ngmodules.org/modules/ngDraggable) –
ajkavanagh