Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了打字稿导入错误的角度大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用如下语法在我的角度1应用程序(在打字稿中)导入角度

import * as angular from 'angular';

这会从角度模拟而不是角度导入角度,因为我的ILogservice实现失败

即使我尝试从vscode导航到’angular’,我也会导航到角度模拟角度定义.它应该导航到角度而不是模拟库……

如何避免这个问题?

编辑

以下是实施

我的实现是自定义服务,关于哪些打字稿在编译期间出错(错误被粘贴在上面)

class Logger implements ng.ILogservice {
     info(message:string) { //some custom logic in info methoD}
}

angular.service('logger',Logger)

解决方法

是因为angular-mock的打字是对角度的增强.换句话说,一个真正的ILogCall接口应该是:

interface ILogCall {
    (...args: anY[]): void;   //from @types\angular\index.d.ts
    logs: String[];    //from @types\angular-mocks\index.d.ts
}

所以在你的代码中:

info(message:string) { //some custom logic in info methoD}

你需要返回一个正确的ILogCall对象(包含所有成员). @TheChetan和@Natarajan Nagarajugari的回答可能会有所帮助,但我不确定它是否会破坏你的TypeScript写作单元测试.

我的解决方案是在info(message:String)中:

info(message:string)
{
    var logCall: any = (...args: anY[]) => {};
    logCall.logs = //something;

    return logCall as ng.ILogCall;
}

大佬总结

以上是大佬教程为你收集整理的打字稿导入错误的角度全部内容,希望文章能够帮你解决打字稿导入错误的角度所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。