アンケートアプリです。質問を選択するために使用される一連のボタンであるディレクティブがあります。各質問は、選択のスコアを含む JSON オブジェクトです。選択したスコアに対応するボタンを強調表示し、選択していないボタンをクリックしてスコアを変更したいと思います。
updateQuestion() をコントローラーにまだ書いていません。最初に Angular の方法で会話させる方法を理解する必要があるからです。
ボタンの指示
giftsAppsModule.directive('questionChoice',function(){
return {
restrict: 'E',
replace: true,
template :'<div class="btn-group btn-group-vertical">' +
'<button class="btn btn-block" ng-click="updateQuestion(5)">Love It</button>' +
'<button class="btn btn-block" ng-click="updateQuestion(3)">Enjoy It</button>'+
'<button class="btn btn-block" ng-click="updateQuestion(2)">Maybe</button>' +
'<button class="btn btn-block" ng-click="updateQuestion(1)">Probably not</button>'+
'<button class="btn btn-block" ng-click="updateQuestion(0)">No way!</button></div>'
}
質問
questionlist= [
{"index": 1, "question": "Rejoice in God's provision even when the checkbook is in the red.", "gift": "FTH", "score": null},
{"index": 2, "question": "Clean the kitchen once a week.", "gift": "SVC", "score": null},
{"index": 3, "question": "Build sets for a drama.", "gift": "CFT", "score": null},
{"index": 4, "question": "Search the Bible to check the validity of a sermon or Bible lesson.", "gift": "DSC", "score": null}]}
関連するhtml
<div ng-repeat="question in questionlist">
<div class="row-fluid">
<div class="span6">
<p>{{question.index}}. {{question.question}}</p>
</div>
<div class="span6">
<question-choice></question-choice>
</div>
</div>
</div>