Rumah > Soal Jawab > teks badan
Saya sedang mengusahakan sistem Soal Jawab, yang mempunyai halaman soalan yang menyenaraikan maklumat soalan dan kemudian menyenaraikan jawapan di bawah soalan. Saya menggunakan pengawal QuestionCtrl untuk halaman tunggal soalan ini, kemudian menggunakan http.get untuk mendapatkan jawapan, dan menggunakan ng-repeat untuk menyenaraikan setiap jawapan. Kemudian saya menggunakan pengawal AnswerCtrl yang sama untuk mengawal setiap jawapan Setiap jawapan mempunyai fungsi seperti Apabila saya mula-mula mendapat jawapan, saya akan mendapat jawapan.prised_counter untuk dipaparkan, iaitu, jawapannya sedang disukai. Kemudian saya menambah ng-klik pada tag elemen suka untuk melaksanakan operasi seperti Pada masa ini, fungsi dalam AnswerCtrl dipanggil Selepas suka, saya ingin menambah answer.prised_counter 1, tetapi kerana jawapan adalah daripada QuestionCtrl Ia dibaca daripada jawapan dalam , jadi saya tidak boleh mengubah suai answer.prised_counter pembolehubah dalam AnserCtrl. Tolong beritahu saya bagaimana saya harus mencapai keadaan ini? Adakah rancangan itu salah?
習慣沉默2017-05-15 17:01:16
Dalam kes ini, satu QuestionCtrl sudah cukup. Tidak perlu mencipta AnswerCtrl yang lain, yang merumitkan masalah
Jika anda mesti answerCtrl, anda boleh menggunakan $emit dan $brodcast untuk mencapai komunikasi skop ibu bapa<. 🎜> Contoh
<ul ng-controller='questionCtrl'>
<li ng-repeat="item in list" ng-click='like(item)'></li>
</ul>
app.controller('questionCtrl',function(){
$scope.list=[
{count:10,content:"这里是答案1"},
{count:12,content:"这里是答案2"}
]
$scope.like=function(item){
//answer function
}
})