这是我的代码。我收到错误未知提供者:$ 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。如果可以,请使用指令。

09-26 16:01