質問を削除するためのボタンがあります:
<a class="btn-small float-right" data-ng-click="deleteQuestion(question)">
<i data-ng-class="{true: 'icon-step-backward', false: 'icon-remove'}
[question.IsDeleted]"></i>
</a>
これは、ボタンの背後にあるコードです。
$scope.deleteQuestion = function (data) {
if (data.IsDeleted) {
data.IsDeleted = false;
for (var i = 0; i < deletedQuestions.length; i++) {
if (deletedQuestions[i] == data) {
deletedQuestions.splice(i, 1);
}
}
} else {
data.IsDeleted = true;
if ($.inArray(data, deletedQuestions) === -1) {
deletedQuestions.push(data);
}
}
};
ボタンを押すと、関数が 2 回起動されていることに気付きました。最初に質問を削除し、2 回目にそのアクションを元に戻します。
私が欲しかったのは、質問を削除するための 1 つのボタンでした。もう一度クリックすると、そのアクションが取り消されます。
何を見落としていたのか気になります…
EDITここにフィドルがあります: http://jsfiddle.net/rquackenbush/AbWKs/