这是我的代码。我收到错误未知提供者:$ elementProvider <-$ element <-DragListController。我对auglar js还是很陌生
angular
.module('taskManager')
.controller('DragListController', DragListController);
DragListController.$inject = ['$scope', '$element', 'dragularService'];
function DragListController($scope, $element, dragularService){
var vm = this;
vm.items = {};
vm.todoList = [];
vm.inProgList = [];
vm.completedList = [];
$scope.items = [];
vm.init = function($element) {
var database = firebase.database();
database.ref('/task').once('value').then(function(snapshot) {
$scope.$apply(function(){
vm.items = snapshot.val();
//Manipulating data from Firebase
angular.forEach(vm.items, function(value) {
angular.forEach(value, function(data){
if(data == 'completed'){
vm.completedList.push(value);
}
if(data == 'to-do'){
vm.todoList.push(value);
}
if(data == 'on the process'){
vm.inProgList.push(value);
}
});
});
dragularService($element.children().eq(0).children(), {containersModel: vm.todoList});
});
});
}/*End of init function*/
vm.init($element);
}
这是我的app.js
angular.module('taskManager', [
'dragularModule',
'ngRoute',
'googlechart'
]);
错误:[$ injector:unpr]
我正在为我的应用程序使用luckylooke / dragular。拖放功能。请帮忙。
这是我的routes.js
angular.module('taskManager')
.config(function($routeProvider) {
$routeProvider
.when('/task',{
templateUrl: 'views/task-view.html',
controller: 'TaskListController as taskList',
resolve: {
}
})
.when('/',{
templateUrl: 'views/task.html',
controller: 'TaskListController as taskList'
})
.when('/all-list',{
templateUrl: 'views/all-list.html',
controller: 'TaskListController as taskList'
})
.when('/theme3',{
templateUrl: 'views/theme3.html',
controller: 'DragListController as dragList'
});
});
最佳答案
$element
不是提供者。它不能注入。在链接功能中使用in指令。您将直接按参数$scope, $element, attr, ctrl
的顺序获取。不要尝试在控制器中注入$element
。如果可以,请使用指令。