0

私の目標は、カスタムパラメーターを使用してサービスを取得することです

何についてですか?

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, []);
  }
}

より良い方法はありますか?

4

1 に答える 1

1

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 名を持っています。

于 2016-11-21T18:37:04.370 に答える