我的AngularJS代码中有以下内容:
this.$injector.get('$state').current.name !== 'login'
然而,它引发了我的错误:
错误TS2339:类型“{}”上不存在属性“当前”。
你知道如何解决这个问题吗?
更新
我试过这个:
export namespace NewInjector extends angular.auto.IInjectorService {
current: any;
};
没有任何成功。
答案 0 :(得分:6)
get()
的{{1}}方法返回的值是任何..没有 $injector
属性...所以我们只需断言编译器,我们知道将返回什么(而不是current
)
any
另一种表示法
var state = this.$injector.get('$state') as ng.ui.IStateService;
var isNotLogin = state.current.name !== "login";
...
快速概述var state = this.$injector.get<ng.ui.IStateService>('$state');
IInjectorService