Rumah > Soal Jawab > teks badan
Seperti yang ditunjukkan dalam gambar, 5 blok di atas adalah output dalam gelung menggunakan ng-repeat Bagaimana untuk menyedari bahawa apabila blok tertentu (seperti blok 2). diklik, latar belakang blok Warna berubah kepada merah? Warna blok lain kekal tidak berubah.
Terima kasih atas nasihat.
大家讲道理2017-05-15 17:00:27
Terlalu banyak kaedah, ng-click, ng-class, arahan boleh dilaksanakan
Ini adalah kaedah langsung, untuk rujukan sahaja
html:
<p>
<span ng-class="{'selected':selected==s}" ng-repeat="s in list" ng-bind="s" ng-click="changeStatus(s)"></span>
</p>
js
$scope.list = [1,2,3,4,5];
$scope.changeStatus = function(index){
$scope.selected = index;
}
黄舟2017-05-15 17:00:27
Tambah acara klik. Lulus $index dan $event bagi gelung semasa. Maka tidak mengapa untuk mengendalikannya sendiri melalui jq sudut.
phpcn_u15822017-05-15 17:00:27
Beri anda kod siap sedia:
HTML
<p class='options'>
<span class='option' ng-class="{'selected':s._selected}" ng-repeat="s in orderStatus" ng-bind="s.l" ng-click="clickStatus(s)"></span>
</p>
JS
$scope.clickStatus = function(prop) {
prop._selected = !prop._selected;
};
CSS
.option{display:inline-block;border:1px solid green;padding:.25em;margin:.5em .5em 0 0;}
.option.selected{background:green;color:white;}
Saya bercadang untuk menulis arahan untuk melakukan ini