我对 Kotlin 很陌生,很好奇是什么魔法让这段代码能够工作:
@Serializable
data class Box(val s: StringHolder?)
val deserialized = Json.decodeFromString<Box>(string)
Run Code Online (Sandbox Code Playgroud)
当函数定义似乎需要在编码的 JSON 字符串之前有一个初始参数时。
public final override fun <T> decodeFromString(deserializer: DeserializationStrategy<T>, string: String): T {
Run Code Online (Sandbox Code Playgroud) 我使用angularfire2在angular2应用程序中有一个异步的消息列表.
<message *ngFor="let message of messages | async" [message]="message"></message>
Run Code Online (Sandbox Code Playgroud)
当列表更新时,ngFor中的所有元素似乎都会重新渲染.是否可以重新渲染列表中的新项目?
使用
TouchEvent
Run Code Online (Sandbox Code Playgroud)
在指令中输入会导致Safari桌面出现以下错误
ReferenceError: Can't find variable: TouchEvent
Run Code Online (Sandbox Code Playgroud)
Typescript源代码是
@HostListener('touchstart', ['$event'])
onTouchstart(event: TouchEvent) {
// ... does something with event.
}
Run Code Online (Sandbox Code Playgroud)
生成的错误代码是
__decorate([
core_1.HostListener('touchstart', ['$event']),
__metadata('design:type', Function),
__metadata('design:paramtypes', [TouchEvent]),
__metadata('design:returntype', void 0)
], MyTouchDirective.prototype, "onTouchstart", null);
Run Code Online (Sandbox Code Playgroud)
将类型更改为
any
Run Code Online (Sandbox Code Playgroud)
修复,但是应该可以使用这种类型吗?我一般认为类型永远不会产生javascript.我在同一程序中的Typescript类中有其他对TouchEvent的引用,这些引用不会导致问题.