Javascript 如何将$scope传递给$factory
嗨,我是angular js中的新手,我想将空的$scope传递给我的$factory,以便动态登录,我使用$http获取API中的数据。我尝试将作用域放入工厂,但没有成功 这是我的服务APIJavascript 如何将$scope传递给$factory,javascript,angularjs,Javascript,Angularjs,嗨,我是angular js中的新手,我想将空的$scope传递给我的$factory,以便动态登录,我使用$http获取API中的数据。我尝试将作用域放入工厂,但没有成功 这是我的服务API (function() { "use strict"; angular.module('starter').factory(serviceAPI', function($http, $q, $ionicLoading, $timeout) { function ge
(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,
};
})
}());
at服务api
function getData(userNameIn, passwordIn) {
//...
var data = {
username: userNameIn,
password: passwordIn
}; //...}
at控制器
…在服务api上
function getData(userNameIn, passwordIn) {
//...
var data = {
username: userNameIn,
password: passwordIn
}; //...}
at控制器
…什么$scope?您没有在上述代码中的任何地方传递作用域。无论如何,通过范围不是一个好的做法。您试图实现的是什么?您的控制器负责将视图和数据层粘合在一起。您的视图和数据层应该彼此不知道。这意味着,通过在视图和数据层之间创建依赖关系,将范围传递给工厂将违反MVC体系结构。所以,只需在当前记录数据的控制器内填充您的作用域。什么$scope?您没有在上述代码中的任何地方传递作用域。无论如何,通过范围不是一个好的做法。您试图实现的是什么?您的控制器负责将视图和数据层粘合在一起。您的视图和数据层应该彼此不知道。这意味着,通过在视图和数据层之间创建依赖关系,将范围传递给工厂将违反MVC体系结构。因此,只需在当前正在记录数据的控制器内填充范围。
$scope.username = "";
$scope.password = "";
$scope.login = function() {
serviceAPI.getData($scope.username,$scope.password).then(function(data) {
console.log(data)
});
}