Jadi saya memiliki tautan di kotak html dan ketika mengklik tautan itu saya mencoba untuk menampilkan satu set div yang sama sekali baru menggantikan div yang ada. Saya mencoba :

<a href="" ng-click="Search('Show Products A B C')" > Show Products </a> 

Cari panggilan dalam fungsi di pengontrol yang mengembalikan data untuk produk A B C, yang kemudian ditampilkan menggunakan

<div ng-repeat="products in Search( 'Show Products A B C')" </div>

Saya pada dasarnya mencoba melakukan sesuatu seperti ini:

  <div  ng-repeat=" href="" ng-click="Search('Show Products A B C')"> </div>

Yang bukan sintaks yang tepat saya mengerti. Tapi sekarang tidak ada yang terjadi. Pada dasarnya dari ng-klik itu saya ingin memanggil bagian kode itu (ng-repeat) karena saat ini mereka tidak terhubung. Terima kasih

0
uniXVanXcel 10 Agustus 2017, 03:39

2 jawaban

Jawaban Terbaik

Yang harus Anda lakukan adalah membuat beberapa larik atau objek A terikat ke $scope, lalu saat Anda memanggil penelusuran, Anda memperbarui A dan perubahan akan tercermin pada tampilan Anda

$scope.show=true;
$scope.products =[A,B,C];
$scope.Search = function() {
    // do list update
    $scope.show=false;
    $scope.products =[D,E,F] ;
}

Anda juga perlu mengubah ng-repeat menjadi ini:

<div ng-repeat="product in products" </div>

Dan tambahkan ng-show ke tautan pertama:

<a href="#" ng-show = "show" ng-click="search();">Click Me</a>

Sunting:

Periksa biola ini untuk contoh yang berfungsi.

Sunting:

Fiddle diperbarui yang mencerminkan perubahan terbaru.

1
mscheker 10 Agustus 2017, 01:46

ng-repeat akan merespons perubahan dalam argumennya, tetapi argumen Anda adalah fungsi Search(). Saya akan menyarankan yang berikut: Dalam fungsi pencarian Anda:

$scope.Search = function(arg) {
    // do your search logic
    $scope.productList = <search result list>
}

Lalu di html

<div ng-repeat="products in productList" </div>
2
Jarek Kulikowski 10 Agustus 2017, 00:48