带有参数的angular1 es6服务

angular1 es6 service with params

我的目标是获得服务 使用自定义参数

关于什么?

class ApartmentsGridPaginator {
  constructor(pageSize, navRange, data) {}
}
//.service('ApartmentsGridPaginatorFactory', ApartmentsGridPaginatorFactory)
class ApartmentsGridPaginatorFactory {
  getPaginator(pageSize, navRange,data){
    return new ApartmentsGridPaginator(pageSize, navRange, data);
  }
}
class ApartmentsController {
  constructor(ApartmentsGridPaginatorFactory) {
    'ngInject';

    this.paginator = ApartmentsGridPaginatorFactory.getPaginator(30, 5, []);
  }
}

有没有更好的方法?

对于 类 不需要使用 DI service 不应该使用。

相反,服务可以定义为 value 并包含一个构造函数:

class ApartmentsGridPaginator {
  constructor(pageSize, navRange, data) {}
}

app.value('ApartmentsGridPaginator', ApartmentsGridPaginator);

...

class ApartmentsController {
  constructor(ApartmentsGridPaginator) {
    'ngInject';

    this.paginator = new ApartmentsGridPaginator(30, 5, []);
  }
}

请注意,该服务遵循既定的命名约定,注入项是一个构造函数并且具有 PascalCase 名称。