私はAngularで作業しています。私のページの一部はng-repeat
を使っていくつかのバグトラッカーチケットを表示しています。サイトの一環として、チケットを検索する機能も提供したいと考えています。私は私が望むようにその部分を働かせることができます、そして、私はちょうど新しいチケットを追加している場合、彼らはうまく表示されます。Angularのng-repeat内のすべての要素を削除します
しかし、ユーザーが検索すると、現在表示されているチケットのすべてを削除し、検索結果に置き換えることができます。
私はng-repeat
をitem in tickets track by item.id
と設定していたので、最初の考えは$scope.tickets
を新しいデータと同じに設定することでした。しかし、AngularではDOMを更新しませんでした。
だから、私は新たなデータに等しいことを設定、空の配列に等しい$scope.tickets
とを設定しようとした:DOMに
$scope.$apply(function() {
$scope.tickets = [];
$scope.tickets = data;
});
がまだ更新、console.log($scope.tickets)
が正しいオブジェクトを示しているにもかかわらず。
私は、個々の要素を削除すること
$scope.$apply(function() {
array.splice(index, 1);
});
の方法を認識してんだけど、私は、私はすべての要素を削除することを適用するかどうかはわかりません。
まもなくPlunkrやJSBinがQに追加されます。
現在のすべての要素をデータから作成した新しい要素に置き換えるには、どのような方法が適切でしょうか?
はあなたNGリピート式でフィルタを使用していない理由はありますあなたが探しているdivだけを表示します。 AngularJS doc https://docs.angularjs.org/api/ng/filter/filter – SeRu
を確認してください。より多くのコード・コンテキストを確認する必要があります。ビューが更新されない理由を私たちが知ることができるように十分に示されていません。常に[mcve]を提供する – charlietfl