Rumah > Soal Jawab > teks badan
Terdapat banyak penerangan tentang hobi di sini Setiap penerangan diletakkan dalam teg span saya tambahkan ng-click='getHobby()' pada setiap teg span dapatkan penerangan dalam teg span yang sepadan dengan klik?
Kaedah saya: Apabila saya mengikat fungsi getHobby(), saya menambah penerangan dalam teg sebagai parameter dalam fungsi, seperti getHobby("Bookworm" Ini juga mungkin, tetapi ia tidak cukup elegan. , dan menambahkan banyak kod pada html, saya ingin mendengar penyelesaian anda
大家讲道理2017-05-15 16:57:27
app.controller('TagCtrl',function($scope){
$scope.tags=[{name:'书虫',code:'xx'},{name:'互联网',code:'yy'}];
$scope.onSelect=function(tag){
$scope.selectedTag=tag;
console.log(tag.name)//tag.code......
}
});
<ul ng-controller='TagCtrl'>
<li ng-repeat="tag in tags">
<span ng-click="onSelect(tag)">{{tag.name}}</span>
</li>
</ul>
Pelbagai teg hendaklah data dikawal oleh pengawal melalui skop mesti sentiasa mengingati data sedia ada, dan kemudian memaparkan antara muka berdasarkan data Operasi antara muka dikembalikan kepada pengawal melalui peristiwa untuk diproses.
Jika anda menjana senarai teg pada halaman melalui kaedah lain, seperti
<span ng-click="getHobby('Bookworm')">Bookworm</span>
<span ng.....>Internet</span>
Ini bukan cara yang betul untuk menggunakan sudut.
Jika anda baru mula menggunakan Angular, untuk mengelakkan pemikiran asal anda daripada menjejaskan penggunaan Angular anda, sila ingat peraturan yang mungkin terlalu mutlak:
1 Anda tidak boleh melakukan sebarang operasi berkaitan DOM dalam pengawal
2 Sebarang operasi berkaitan DOM harus diletakkan dalam arahan
曾经蜡笔没有小新2017-05-15 16:57:27
Poster asal menggunakan idea jquery untuk membuat sudut Saya tertanya-tanya jika sudut mempunyai pengikatan data dua hala?
Cadangan kepada poster: Kelebihan sudut ialah ia membenarkan anda tidak lagi mengendalikan DOM Apabila anda menggunakan sudut tetapi mengendalikan DOM, fikirkan sama ada terdapat cara lain.
漂亮男人2017-05-15 16:57:27
Saya tidak faham apa yang dilakukan oleh penyoal, pelaksanaan jQuery sangat mudah
// 绑定 p 下面所有span标签的click事件
$("p span").on('click', function(){
// 获得span的text
var text = $(this).text();
});
17:07 Pengubahsuaian
Sila rujuk perkara berikut:
<p ng-controller="MyController" >
<p ng-click="myData.doClick()">Click here</p>
</p>
<script>
angular.module("myapp", [])
.controller("MyController", function($scope) {
$scope.myData = {};
$scope.myData.doClick = function() {
alert("clicked");
}
} );
</script>
PS: Terdapat buku yang disyorkan di bawah halaman utama jQuery
Rujuk Jquery .on()
AngularJS Events
给我你的怀抱2017-05-15 16:57:27
Adakah cukup untuk menghantar elemen semasa kepada ngclick semasa gelung ng?