javascript - 如何将 $scope 传递给 $factory

标签 javascript angularjs

嗨,我是 Angular JS 新手,我想将空 $scope 传递到我的 $factory 进行动态登录,我使用 $http 获取 API 中的数据,我尝试将范围放入工厂,但我没有不工作

这是我的 serviceAPI

(function() {
    "use strict";

    angular.module('starter').factory(serviceAPI', function($http, $q, $ionicLoading, $timeout) {



        function getData() {
            var deferred = $q.defer();
            $ionicLoading.show({ template: 'Loading...' });
            var url = "myAPI";

            var data = {
                username: "admin", <-- this is the one I want to dynamic it
                password: "admin" <--
            };

            $http({
                method: 'POST',
                url: url,
                data: data


            }).success(function(data) {

                $ionicLoading.hide();
                deferred.resolve(data);

            }).error(function() {
                console.log('Error while making HTTP call');
                $ionicLoading.hide();
                deferred.reject();

            });

            return deferred.promise;
        }


        //a Return value to public
        return {
            getData: getData,


        };


    })

}());

这是 Controller

(function() {
    "use strict";

    angular.module('starter').controller('LoginCtrl', ['$scope', 'serviceAPI', LoginCtrl]);


    function LoginCtrl($scope, serviceAPI) {
     $scope.username = "";
     $scope.password = "";
        $scope.login = function() {

            serviceAPI.getData().then(function(data) {

                console.log(data)
            });

        }


    }

}());

最佳答案

在服务API

function getData(userNameIn, passwordIn) {
//...
var data = {
username: userNameIn,
password: passwordIn
};   //...}

在 Controller 处 ...

$scope.username = "";
$scope.password = "";
$scope.login = function() {            
serviceAPI.getData($scope.username,$scope.password).then(function(data) {
console.log(data)
});

}

...

关于javascript - 如何将 $scope 传递给 $factory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43911516/

相关文章:

angularjs - Ionic 本地存储和路由

asp.net-mvc-4 - 使用 angularjs 和 ASP.NET MVC

angularjs - Angular Bootstrap - 工具提示未显示

javascript - 检查对象中日期的顺序

javascript - Cordova 插件 - 回调仅执行一次

javascript - 无法在 typescript 中扩展angularjs Controller

html - 为什么我的 Material AngularJS (CSS) 无法像所提供的演示那样工作?

JavaScript - 更改一组包含特定文本和可变 ID 元素的链接

javascript - 从对象集中获取三个值

javascript - Twitter BootStrap 提交按钮仍然提交表单