如何允许组件中的函数访问构造函数中导入的工厂?
Posted
技术标签:
【中文标题】如何允许组件中的函数访问构造函数中导入的工厂?【英文标题】:How to allow a function in a component to access factory imported in constructor? 【发布时间】:2017-06-08 12:54:47 【问题描述】:我一直在尝试在组件之间共享数据,并按照here 的建议创建了一个商店。
在我的组件构造函数中一切正常,但我不知道如何为函数提供类似的访问权限。
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() 但无法弄清楚。任何帮助将不胜感激。
谢谢
【问题讨论】:
【参考方案1】:你应该在类上分配服务(注入的东西)
例如,如果您想使用 Store 分配 this.Store = Store 然后你可以从类中的所有方法中使用它作为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');
【讨论】:
谢谢,我以为会很简单!以上是关于如何允许组件中的函数访问构造函数中导入的工厂?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用具有构造函数参数的 TypeScript 类定义 AngularJS 工厂