0
多くのデータを表示するには、md-selectを使います。 md-selectを開くと、ブラウザがフリーズします。ですから、解決策として、より良いパフォーマンスのためにmd-selectの中でmd-virtual repeatを使いたいと思っています。しかし、コードのISN(tはちょうど私のために働いては。私はここで何か間違ったことをやっているか?md-select内でmd-virtual-repeatを使用していない?
<md-input-container flex>
<label>test</label>
<md-select ng-model="$ctrl.haha">
<md-virtual-repeat-container id="vertical-container">
<md-option md-virtual-repeat="item in ctrl.infiniteItems" md-on-demand ng-value="item" ng-selected="$first">
{{item}}
</md-option>
</md-virtual-repeat-container>
</md-select>
</md-input-container>
#vertical-container {
height: 256px;
}
this.infiniteItems = {
numLoaded_: 0,
toLoad_: 0,
items: [],
// Required.
getItemAtIndex(index) {
if (index > this.numLoaded_) {
this.fetchMoreItems_(index);
return null;
}
return this.items[index];
},
// Required.
getLength() {
return this.numLoaded_ + 5;
},
fetchMoreItems_(index) {
if (this.toLoad_ < index) {
this.toLoad_ += 20;
for (let i = 0; i < 10000; i++) {
this.items.push(i);
}
this.numLoaded_ = this.toLoad_;
}
}
};
ありがとうございます!それは私がjavaScriptを使用する場合に機能しますが、私はRefresh()関数をtypescript関数に変換する際にいくつかの問題があります... typescriptで$ broadcastをどのように使うかについてのアイデアはありますか? select文の中の要素はf12を押すと表示されるだけなので私はそれが$ブロードキャスト –
の実装が悪いので、この例と大きく違ってはいけないと思っています。コントローラクラスに '$ scope'を挿入するのを忘れたのでしょうか?あなたが投稿したコードだけでは分かりません。おそらくあなたは[this](https://stackoverflow.com/a/43542420/5173530)の答えや関連するもの、幸運を見てください。 –
それは問題だった..もう一度ありがとう! –