AngularJsの基本的な概念の理解が非常に低いため、問題に直面しています(私は思っています)。私はクリック可能な単語のリストを持っています。私がそれらをクリックすると、ブートストラップの「ラベル」クラスを使用して色が(個別に)変更されます。それはうまく動作しますが...(ここは:) :):私は '私は' this.selected 'を'に設定することができないため、私は私の色を初期状態に戻すことができません ' false '...以下のコードを参照してください。ng-repeatでng-clickした後にinit状態に戻りますか?
私はそれが難しくないと確信していますが、誰かが私にヒントを与えることができたら、私は感謝します。
<h2 class="jumbleW inline" ng-repeat="w in word track by $index">
<span ng-class="{'label': true, 'label-primary': !this.selected, 'label-warning': this.selected}" ng-click="pickWord(w)">{{w}}</span>
</h2>
<button class="btn btn-danger btn-xs" ng-click="clear()">Try again</button>
EDIT:初心者のミスに申し訳ありません。私は上記のコード(裸のHTML)の版を受け入れました。
$scope.pickWord = function(w){
this.selected = !this.selected;
if (this.selected == false) {
$scope.playerAnswer = $scope.playerAnswer.replace(w, "");
} else {
$scope.playerAnswer += w;
}
}
は、この完璧な答えのためのHTML –
おかげ@Arunaとの完全なコードを表示します!私は有益な答えに投票することはできませんが、あなたが改善し、完璧に働くことができました。私はこれを行うより簡潔な方法を想像しましたが、これは私が通常やることのようなものなので、私は常にそれが最良の方法ではないように感じています(私は間違っているはずです!ところで、誰かが私の質問に投票しました:(研究はありませんか?私は約1時間を過ごしました、それはばかげて聞こえるかもしれませんが、初心者が存在し、初心者の問題を抱え、間違った方向を見ているかもしれません) – Celfred
@Celfredあなたが初心者であるときに誰が投票したかを聞いて、わからないことは素晴らしいことです。私はとにかく、幸せなコーディングをあなたに投票します:-) – Aruna