gpt4 book ai didi

angularjs - 如何摆脱 TypeScript 中的 $injector 类型错误?

转载 作者:搜寻专家 更新时间:2023-10-30 21:04:47 25 4
gpt4 key购买 nike

我的 AngularJS 代码中有以下内容:

this.$injector.get('$state').current.name !== 'login'

但是,它抛出一个错误:

error TS2339: Property 'current' does not exist on type '{}'.

你知道如何解决这个问题吗?


更新

我已经试过了:

export namespace NewInjector extends angular.auto.IInjectorService {
current: any;
};

没有任何成功。

最佳答案

$injectorget() 方法返回的值是任何.. 没有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 的快速概览

interface IInjectorService {
...
get<T>(name: string, caller?: string): T;
...

关于angularjs - 如何摆脱 TypeScript 中的 $injector 类型错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35719818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com