TypeScript:构建:提供的参数与调用目标的任何签名都不匹配
TypeScript: Build: Supplied parameters do not match any signature of call target
我有这个代码(修剪):
class cSubjectSite {
collectionHomeMarker: Microsoft.Maps.EntityCollection;
showAddressMarker() {
var opts: Microsoft.Maps.EntityCollectionOptions = {
zIndex: zIndex_HomeMarker, bubble: true, visible: true
};
}
// Compiler error on this line:
this.collectionHomeMarker = new Microsoft.Maps.EntityCollection(opts);
}
我觉得这很好。这里来自声明 Microsoft.Maps.d.ts:
export interface EntityCollectionOptions {
bubble?: boolean;
visible?: boolean;
zIndex?: number;
}
export class EntityCollection implements Entity {
EntityCollection(options?: EntityCollectionOptions);
// Etc.
还有一个我正在使用的第二个声明文件 (Microsoft.Maps.AdvancedShapes.d.ts) 用于扩展功能,它对 EntityCollection 有另一个定义:
export class EntityCollection implements Entity {
constructor(options?: EntityCollectionOptions);
看起来这两个 def 文件针对的是不同的 ts 版本(不同的构造函数语法)?我对 def 文件的了解还不够多。
我正在使用 VS 2013 和 ts 1.5。我确保我的路径变量和我的项目文件都引用了 v1.5。我从 Nuget 获得了我的 Bing Maps def 文件。
我是打字稿的新手,所以我可能遗漏了一些基本的东西。
- 布拉德
Microsoft 从未发布过 Bing 地图的 TypeScript 库。你在 Nuget 上找到的那个一定是某人创建的包装器。不确定它被包裹在谁身上。在 Bing 地图 API 中没有 Microsoft.Maps.EntityCollectionOptions class,这只是一个占位符名称,您可以在其中放置一个具有选项的对象。例如:
var opts = { visible: true };
var layer = new Microsoft.Maps.EntityCollection(opts);
所以它看起来像一个错误的声明。我将 Microsoft.Maps.d.ts EntityCollection 声明更改为:
export class EntityCollection implements Entity {
constructor(options?: EntityCollectionOptions);
这显然是我使用的 TS 版本 (1.5) 的正确语法。
我有这个代码(修剪):
class cSubjectSite {
collectionHomeMarker: Microsoft.Maps.EntityCollection;
showAddressMarker() {
var opts: Microsoft.Maps.EntityCollectionOptions = {
zIndex: zIndex_HomeMarker, bubble: true, visible: true
};
}
// Compiler error on this line:
this.collectionHomeMarker = new Microsoft.Maps.EntityCollection(opts);
}
我觉得这很好。这里来自声明 Microsoft.Maps.d.ts:
export interface EntityCollectionOptions {
bubble?: boolean;
visible?: boolean;
zIndex?: number;
}
export class EntityCollection implements Entity {
EntityCollection(options?: EntityCollectionOptions);
// Etc.
还有一个我正在使用的第二个声明文件 (Microsoft.Maps.AdvancedShapes.d.ts) 用于扩展功能,它对 EntityCollection 有另一个定义:
export class EntityCollection implements Entity {
constructor(options?: EntityCollectionOptions);
看起来这两个 def 文件针对的是不同的 ts 版本(不同的构造函数语法)?我对 def 文件的了解还不够多。
我正在使用 VS 2013 和 ts 1.5。我确保我的路径变量和我的项目文件都引用了 v1.5。我从 Nuget 获得了我的 Bing Maps def 文件。
我是打字稿的新手,所以我可能遗漏了一些基本的东西。
- 布拉德
Microsoft 从未发布过 Bing 地图的 TypeScript 库。你在 Nuget 上找到的那个一定是某人创建的包装器。不确定它被包裹在谁身上。在 Bing 地图 API 中没有 Microsoft.Maps.EntityCollectionOptions class,这只是一个占位符名称,您可以在其中放置一个具有选项的对象。例如:
var opts = { visible: true };
var layer = new Microsoft.Maps.EntityCollection(opts);
所以它看起来像一个错误的声明。我将 Microsoft.Maps.d.ts EntityCollection 声明更改为:
export class EntityCollection implements Entity {
constructor(options?: EntityCollectionOptions);
这显然是我使用的 TS 版本 (1.5) 的正确语法。