我的任務是使用角度處理掉落的文本。拖放事件時,我不斷收到此錯誤$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'。你不需要'$範圍'。只需使用'drag($ event)'。 – ajkavanagh
現在它顯示「Uncaught ReferenceError:drag is not defined,allowDrop is not defined」。 – kumaro
對不起,我當時很蠢。你不能像你在做Angular那樣做你正在做的事。即不能將$ scope函數放在常規屬性中。你必須使用'ng-'版本。並沒有任何拖放事件。你需要使用像[ngDraggable](http://ngmodules.org/modules/ngDraggable) –
ajkavanagh