使用Typescript键入错误

时间:2016-12-16 05:51:59

标签: angular typescript

不确定这意味着什么:

**org.openqa.selenium.WebDriverException: org.openqa.selenium.WebDriverException: Unable to bind to locking port 7054 within45000 ms** System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_111' Driver info: driver.version: firefox System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_111' Driver info: driver.version: firefox at org.openqa.selenium.firefox.internal.ExtensionConnectionFactory.connectTo(ExtensionConnectionFactory.java:46) at org.openqa.selenium.firefox.FirefoxDriver.connectTo(FirefoxDriver.java:139) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:129) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:109) at test.NewTest.Browser(NewTest.java:10) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.Met

违规行:

Argument of type '{ tags: Tag[]; }' is not assignable to parameter of type 'Tag[]'.

set_tags({tags}: Tag[]): void

班级:

tags: Tag[] = [];
this.searchService.set_tags({ tags: this.tags });
如果我将export class Tag{ select: string; search: string; } 设置为Tag[]

,则

功能有效

2 个答案:

答案 0 :(得分:0)

set_tags({tags}: Tag[]): void

这就是问题所在。 {tags}这里指的是打字稿类型系统发现与数组类型Tag[]不兼容的对象。

正如您提到的set_tags({tags}: any): void有效且

set_tags(tags: Tag[]): void

也应该有效。 在这种情况下,你打电话

this.searchService.set_tags(this.tags );

答案 1 :(得分:0)

您收到错误,因为当您使用set_tags

调用函数时,this.searchService.set_tags({ tags: this.tags });函数中声明的参数类型不匹配

功能声明应如下:

set_tags(tags: Tag[]): void

你需要调用函数:

this.searchService.set_tags(this.tags);