gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 03:40:33 26 4
gpt4 key购买 nike

嗨,我是 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com