📅  最后修改于: 2023-12-03 15:41:49.702000             🧑  作者: Mango
本测验问题 5 主要考察对 AngularJS 的服务(service)和工厂(factory)的理解和运用。
AngularJS 中的服务和工厂是提供依赖注入的常用方式,它们可以在需要的地方被注入到控制器(controller)、指令(directive)、过滤器(filter)等组件中。
服务和工厂的区别在于,服务是一个构造函数(constructor),被实例化为一个对象,而工厂返回一个函数或对象。
下面是一个示例,演示如何使用服务和工厂:
// 定义一个工厂,返回一个对象
app.factory('MyFactory', function() {
return {
myProperty: 'Hello World'
};
});
// 定义一个服务,构造函数返回一个对象
app.service('MyService', function() {
this.myProperty = 'Hello World';
});
// 在控制器中注入 MyFactory 和 MyService
app.controller('MyController', function(MyFactory, MyService) {
console.log(MyFactory.myProperty); // 输出:Hello World
console.log(MyService.myProperty); // 输出:Hello World
});
通过以上代码,我们可以看到:
app.factory('name', function() {...})
。app.service('name', function() {...})
。在 AngularJS 中,服务和工厂是提供依赖注入的常用方式,它们都可以返回一个对象或函数,并可以被注入到其他组件中。服务是一个构造函数,会实例化为一个对象,而工厂返回一个函数或对象。在使用中,可以根据需要选择合适的方式来创建相应的服务或工厂。