如何允许组件中的函数访问构造函数中导入的工厂?

How to allow a function in a component to access factory imported in constructor?

我一直在尝试在组件之间共享数据,并遵循 的建议来创建商店。

在我的组件构造函数中一切都很好,但我不知道如何为函数提供类似的访问权限。

class Home {
  constructor($scope, $reactive, Store) {
    'ngInject';

    $reactive(this).attach($scope);

    this.selectedDate = Store.get().selectedDate;
}

一切正常,但无法访问此处的商店:

nextDay(){
    'ngInject';
    Store.set({selectedDate: moment(this.selectedDate).add(1, 'd').format('YYYY-MM-DD')});
    console.log('nextDay');
}

我试过将 Store 附加到 $reactive,我试过 this.Store 并将 Store 作为 agrument 传递给 nextDay() 但无法弄清楚。任何帮助将不胜感激。

谢谢

您应该在 Class

上分配服务(注入的东西)

例如,如果您想使用 Store assign this.Store = Store 然后你可以在 class 中的所有方法中使用它作为 this.Store

  class Home {
      constructor($scope, $reactive, Store) {
        'ngInject';
        this.Store = Store;
        this.$reactive = $reactive;
        this.$scope = $scope;
        this.$reactive(this).attach($scope);

        this.selectedDate = this.Store.get().selectedDate;
      }

      nextDay(){
        this.Store.set({selectedDate: moment(this.selectedDate).add(1, 'd').format('YYYY-MM-DD')});
        console.log('nextDay');

      }
  }