Web コンポーネントに次のフラグメントがあります。
<div id="mycodes">
<template iterate='code in codeList'>
{{code}}
</template>
</div>
また、Dart ファイルでcodeList
は、ユーザーがボタンをクリックするとデータが入力されます。
void onMyButtonClick(Event event) {
HttpRequest.getString('http://getData').then((response) {
mylist = json.parse(response);
for(var code in mylist){
codeList.add(code['c']);
}
}
問題は、最初のクリックでデータが表示されないことです。データを表示するには、ボタンを 2 回クリックする必要があります。
しかし、codeList
以下に示すように (ネットワーク データからではなく) 手動で入力すると、最初のクリックでデータが表示されます。
void onMyButtonClick(Event event) {
codeList.add("data 1");
codeList.add("data 2");
}
}
ネットワーク データが利用可能になった後、反復するテンプレートが必要です。ネットワーク データが future オブジェクトを通じて利用可能になる前に、イベント ループはページを描画するという仕事を既に終えているようです。モデルがダーツで更新された後にページを更新する方法はありますか?