AngularJS 使用服务架构支持关注点分离的概念。服务是只负责执行特定任务的 JavaScript 函数。这使它们成为可维护和可测试的单一实体。控制器和过滤器可以根据需要调用它们。服务通常使用 AngularJS 的依赖注入机制来注入。
AngularJS 提供了许多内置服务。例如$http、$route、$window、$location等。每个服务负责具体的任务,比如$http用于进行ajax调用获取服务器数据,$route用于定义路由信息等. 内置服务始终以 $ 符号为前缀。
创建服务有两种方法 -
在这个方法中,我们首先定义一个工厂,然后为其分配方法。
var mainApp = angular.module("mainApp", []);
mainApp.factory('MathService', function() {
var 工厂 = {};
工厂.multiply = 函数(a, b) {
返回a*b
}
返回工厂;
});
在此方法中,我们定义一个服务,然后为其分配方法。我们还为它注入了已经可用的服务。
mainApp.service('CalcService', function(MathService) {
this.square = 函数(a) {
返回 MathService.multiply(a,a);
}
});
以下示例展示了上述所有指令的使用 -
Angular JS 服务 AngularJS 示例应用程序
输入号码:
结果:{{结果}}
在 Web 浏览器中打开文件 testAngularJS.htm 并查看结果。