ダーツWebアプリケーションとブラウザの履歴を統合して、ダーツオブジェクトをwindow.history
スタックにプッシュしたいとします。ダーツオブジェクトをネイティブに - UnimplementedError:他のタイプの構造化クローン
Dartオブジェクト。
class AppState {
final int index;
AppState(this.index){
}
}
アピ https://api.dartlang.org/stable/1.15.0/dart-html/History/pushState.html
これは、例えばで動作しますMap toMap()
メソッドと、一致するファクトリコンストラクタがありますが、これは強引な方法です。ダーツフレームワークに頼るだけで、以下のようなスタックダンプが得られます。これは、AppState
がいくつかのシリアライズメソッドを見逃していることを示しています。誰でも知っている?
Uncaught Unhandled exception:
UnimplementedError: structured clone of other type
#0 _StructuredClone.walk (file:///mnt/data/b/build/slave/dartium-lucid64-full-stable/build/src/dart/sdk/lib/html/html_common/conversions.dart:136)
#1 _StructuredClone.convertDartToNative_PrepareForStructuredClone (file:///mnt/data/b/build/slave/dartium-lucid64-full-stable/build/src/dart/sdk/lib/html/html_common/conversions.dart:151)
#2 convertDartToNative_PrepareForStructuredClone (file:///mnt/data/b/build/slave/dartium-lucid64-full-stable/build/src/dart/sdk/lib/html/html_common/conversions_dartium.dart:4)
#3 convertDartToNative_SerializedScriptValue (file:///mnt/data/b/build/slave/dartium-lucid64-full-stable/build/src/dart/sdk/lib/html/html_common/conversions.dart:33)
#4 History.pushState (dart:html:19793)
#5 AppHistoryCtrl.pushState (package:mintest/app_history_ctrl.dart:35:20)
http://github.com/dart-lang/sdk –
Okにバグを報告する必要があります。この問題を書きました。 https://github.com/dart-lang/sdk/issues/26108 –