我有一个依赖于服务的指令,我在服务中维护一些指令状态。 因此,无论何时在两个地方使用相同的指令,它都需要实例化新服务。 例如,
<body>
First directive instance: <custom-directive> 1 </custom-directive>
Second directive instance: <custom-directive> 2 </custom-directive>
</body>
在这种情况下,两个控制器都填充了相同的服务对象,但我需要不同的服务对象来在内部维护它们的状态。
有人可以提供帮助。
答案 0 :(得分:1)
您仍然可以使用服务/工厂,但在服务中公开一个返回新实例的getInstance
方法,允许您注入并随后为每个指令创建一个新实例。
angular.module('app', []).factory('sharedService', sharedService);
function sharedService() {
return {
getInstance: function () {
return new instance();
}
}
function instance() {
// functionality
}
}