TypeScript: 我在DataProvider类中有一个带有方法getTableData的方法:
public static getTableData<T extends DataObject>(type: { new(): T}): Array<T> { ... }
Run Code Online (Sandbox Code Playgroud)
当我编码时,这完美地工作:
let speakers = DataProvider.getTableData(Speaker); // where Speaker is a class
Run Code Online (Sandbox Code Playgroud)
现在我想从泛型类中调用它:
export class ViewModelBase<T extends DataObject> {
public getData(): Array<T> {
return <T[]> DataProvider.getTableData(T);
}
}
Run Code Online (Sandbox Code Playgroud)
现在,对于传递给getTableData的T参数,我收到一个找不到名称'T'的错误。应该如何调用getTableData?
更新:在@Paleo的帮助下,我想到了这个:
export class ViewModelBase<T extends DataObject> {
constructor(private dataObjectClass: { new(): T}){}
public getTableData(): Array<T> {
return <T[]> DataProvider.getTableData<T>(this.dataObjectClass);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,尽管我已经讲过:
class SpeakerViewModel extends ViewModelBase<Speaker> { ... }
我希望它成为ViewModel,因为Speaker我仍然具有实例化之SpeakerViewModel类的东西:
let …
我正在尝试jenkinsci/blueocean在Windows 10 Pro(最新)下启动一个容器。我正在运行一个脚本:
docker run ^
--rm ^
-u root ^
-d ^
-p 8080:8080 ^
-p 50000:50000 ^
-v D:/docker/jenkins/volumes/jenkins-data:/var/jenkins_home ^
-v D:/docker/jenkins/volumes/docker.sock:/var/run/docker.sock ^
-v D:/docker/jenkins/volumes/home:/home ^
jenkinsci/blueocean
Run Code Online (Sandbox Code Playgroud)
这将失败,并显示以下消息:
docker: Error response from daemon:
driver failed programming external connectivity on endpoint elastic_kare:
Error starting userland proxy:
Bind for 0.0.0.0:50000: unexpected error Permission denied
Run Code Online (Sandbox Code Playgroud)
如果我忽略端口50000的绑定,则它可以正常工作,但是我需要50000端口才能与主机上的从设备进行通信。
将50000绑定到另一个端口无济于事。根据该端口未使用netstat -an。尝试以管理员身份运行脚本无济于事。
这里可能是什么问题?
更新:我重新启动了笔记本电脑,并将Docker桌面也更新到了最新版本。
update2:重新启动笔记本电脑后,我也重新启动了Docker(几次)。无济于事。
update3:关闭Windows防火墙无法解决问题。
为了让Firebase消息传递运行,我必须在platforms/android中的build.gradle文件中进行一些编辑.如果我做了,tns platform remove/add那么我的修改就不见了.是否有可能在app/App_Resources/android中放置一些东西以防止我的更改消失.这里考虑的是app/**在Git中,而platform/**不在.