【问题标题】:PassFactory.setNewPass is not a function, factory function not a functionPassFactory.setNewPass 不是函数,工厂函数不是函数
【发布时间】:2017-05-06 03:53:24
【问题描述】:

似乎无法让这个工厂正常工作。 我正在尝试从工厂执行 $http 请求。 但我收到以下错误:

TypeError: PassFactory.setNewPass 不是函数

下面是代码:

工厂

   (function () {
        angular
            .module("myApp")
            .factory('PassFactory', ['$http', function ($http) {
    /*
                var passFactory = {};
                passFactory.setNewPass = function (newpass, user) {
                    return $http.post('/password/' + newpass, user, function (response) {
                    });
                };
    */
                return {
                    setNewPass: function (newpass, user) {
                        return $http.post('/password/' + newpass, user, function (response) {
                        });
                    }
                };
            }])
    })();



控制器

 (function () {
        angular
            .module("myApp")
            .controller('PCtrl', ['$scope', '$location', '$rootScope', 'PassFactory', setHome]);

        function setHome($scope, $location, PassFactory) {
            $scope.login = function (user) {
                if (user.newpassword == user.newpasswordconfirm) {


                    PassFactory.setNewPass(user.newpassword, user).then(function (response) {
                        $location.path("/");
                    });


                }
            };
        }
    })();

【问题讨论】:

    标签: javascript angularjs angularjs-service angularjs-controller angularjs-factory


    【解决方案1】:

    您在控制器工厂功能中错过了$rootScope。始终确保已将依赖顺序注入到 DI 数组中,您应该按照相同的顺序在其工厂函数中请求它们的实例。

    angular
     .module("myApp")
     .controller('PCtrl', ['$scope', '$location', '$rootScope', 'PassFactory', setHome]);
    
    //added $rootScope in 3rd place
    function setHome($scope, $location, $rootScope, PassFactory) {
    

    【讨论】:

      猜你喜欢
      • 2020-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-13
      • 2019-06-05
      • 2019-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多