"service" 和 "Factory" 有什么区别?
What are the differences between "service" and "Factory"?
当我需要使用工厂或服务时,我试图找到真正的区别,但我总是在示例中找到相同的地方:
a) This is the way to create the "i18n" service...
b) This is the way to create the "i18n" factory...
就像把相同的代码按不同的顺序来做同样的事情。所以我一直在问自己:如果我能做到,真正的区别是什么?
另一个问题是在很多教程中人们对每个术语赋予不同的含义,所以现在我很困惑。
所以,我问:
- 服务是什么意思?
- 工厂是什么意思?
- 服务和工厂有什么区别?
- 什么时候需要使用服务?
- 什么时候需要使用工厂?
谢谢!
1.服务是什么意思?
2。工厂是什么意思?
服务和工厂的含义相同,即它们是 javascript 函数,负责执行特定任务。 Angular 服务服务和 Angular 工厂服务是我们可以创建 Angular 服务的方式,根据应用程序的需要,我们可以使用它们中的任何一种。
3。服务和工厂有什么区别?
在 Service 服务中,函数就像一个构造函数,您不需要初始化和 return 变量,服务会自动为您完成。
myApp.service("LoginService", function () {
this.login = function (username, password) {
this.isLogged = true;
}
})
在控制器中,您可以使用以下代码访问该服务-
LoginService.login($scope.form.Username, $scope.form.Password);
$scope.loggedMessage = LoginService.isLogged;
然而,在工厂中,您必须显式初始化对象并return如下所示
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 return 是一个对象的实例,您可以使用该对象访问工厂函数。例如,您有一个带有加、减、乘函数的 MathFactory。
当我需要使用工厂或服务时,我试图找到真正的区别,但我总是在示例中找到相同的地方:
a) This is the way to create the "i18n" service...
b) This is the way to create the "i18n" factory...
就像把相同的代码按不同的顺序来做同样的事情。所以我一直在问自己:如果我能做到,真正的区别是什么?
另一个问题是在很多教程中人们对每个术语赋予不同的含义,所以现在我很困惑。
所以,我问:
- 服务是什么意思?
- 工厂是什么意思?
- 服务和工厂有什么区别?
- 什么时候需要使用服务?
- 什么时候需要使用工厂?
谢谢!
1.服务是什么意思?
2。工厂是什么意思?
服务和工厂的含义相同,即它们是 javascript 函数,负责执行特定任务。 Angular 服务服务和 Angular 工厂服务是我们可以创建 Angular 服务的方式,根据应用程序的需要,我们可以使用它们中的任何一种。
3。服务和工厂有什么区别?
在 Service 服务中,函数就像一个构造函数,您不需要初始化和 return 变量,服务会自动为您完成。
myApp.service("LoginService", function () {
this.login = function (username, password) {
this.isLogged = true;
}
})
在控制器中,您可以使用以下代码访问该服务-
LoginService.login($scope.form.Username, $scope.form.Password);
$scope.loggedMessage = LoginService.isLogged;
然而,在工厂中,您必须显式初始化对象并return如下所示
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 return 是一个对象的实例,您可以使用该对象访问工厂函数。例如,您有一个带有加、减、乘函数的 MathFactory。