Rumah > Soal Jawab > teks badan
想用angular 给这几个button 绑定同一个事件。
但是不想用这样的方法
世界只因有你2017-05-15 17:14:48
Ikat ng-klik ke p di lapisan luar dan masukkan objek $event yang disertakan dengan sudut.
<p ng-click="changeMode($event);">
<button class="btn btn-primary btn-sm">111</button>
<button class="btn btn-primary btn-sm">222</button>
<button class="btn btn-primary btn-sm">333</button>
<button class="btn btn-primary btn-sm">444</button>
</p>
Pengawal menerima $event, anda boleh menggunakan objek sasaran untuk menentukan butang yang diklik
$scope.changeMode = function($event){
$event.target
};
ps: Saya ada dua cadangan:
1, ini adalah prinsip yang sama seperti delegasi acara Jika anda tidak mempunyai kemahiran asas js, jangan teruskan apa-apa rangka kerja baharu, cuma buat perkara asas.
2. Remaja, kembangkan tabiat pengaturcaraan yang baik Gunakan label butang untuk butang dan jangan gunakan span. Walaupun bootstrap mengendalikan semua penggayaan untuk anda, ini adalah tabiat pengaturcaraan yang sangat buruk.
阿神2017-05-15 17:14:48
NG versi mini terbina dalam jq.
Jika anda tidak menggunakan penyelesaian itu, anda boleh menulis pasangan kod ini sebagai gelung. Dalam kod berlebihan ini, anda boleh melihat hubungan yang sepadan
Anda boleh menentukan objek literal:
$scope.types = {
'primary':'全部时间',
'success':'最近3天',
'info':'最近一周',
'warning':'最近一月',
'danger':'最近半年'
}
<span ng-repeat="(cla,txt) in types" class="btn btn-sm btn-{{cla}}" ng-click="changeMode()">{{txt}}</span>