1.服务是什么意思?
2。工厂是什么意思?
服务和工厂的含义相同,即它们是javascript函数,负责执行特定任务。 Angular Service 服务和 Angular Factory 服务是我们可以创建 Angular 服务的方式,根据应用程序的需要,我们可以使用它们中的任何一个。
3.服务和工厂有什么区别?
在Service服务中,函数就像一个构造函数,你不需要初始化和返回变量,服务会自动为你做。
myApp.service("LoginService", function () {
this.login = function (username, password) {
this.isLogged = true;
}
})
在控制器中,您可以使用以下代码访问服务-
LoginService.login($scope.form.Username, $scope.form.Password);
$scope.loggedMessage = LoginService.isLogged;
而在工厂中,您必须显式初始化对象并将其返回如下
myApp.factory("LoginFactory", function () {
var obj = {};
obj.login = function(username,password){
obj.isLogged = true;
return obj;
}
return obj;
})
在控制器中,您可以使用以下代码访问工厂-
var obj = LoginFactory.login($scope.form.Username, $scope.form.Password);
$scope.loggedMessage = obj.isLogged;
4.我什么时候需要使用服务?
它应该用于简单的逻辑。它用于注册将用作对象的构造函数的函数。例如 - 使用服务将用户的登录详细信息保存在对象中。
5.什么时候需要使用工厂?
Factory 返回一个对象的实例,使用该对象可以访问工厂函数。例如,您有一个具有加、减、乘功能的 MathFactory。