由于我对基本AngularJs概念的理解很少(我认为),因此我面临一个问题。我有一个可点击的单词列表。当我点击它们时,它们会通过使用Bootstrap'标签来改变颜色(单独)。类。它工作正常但是......(这里是:)):如果我点击我的'再试一次'按钮,我无法将颜色设置回初始状态,因为我无法设置' this.selected'到' false' ...请参阅以下代码。
我确定它并不那么难,但是如果有人能给我一个暗示,我就会陷入困境,我很感激。
<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>
编辑:对不起我的初学者的错误。我接受了上面代码的版本(裸HTML)。
这里也是我的pickWord()函数():
$scope.pickWord = function(w){
this.selected = !this.selected;
if (this.selected == false) {
$scope.playerAnswer = $scope.playerAnswer.replace(w, "");
} else {
$scope.playerAnswer += w;
}
}
答案 0 :(得分:0)
不要使用Promise
。相反,如果一个对象以其他方式为所选索引创建一个数组,则向ng-repeat对象this
添加一个属性,如下所示。
w
html
<h2 class="jumbleW inline" ng-repeat="w in word track by $index">
<span ng-class="{'label': true, 'label-primary': selectedItems.indexOf($index) === -1, 'label-warning': selectedItems.indexOf($index) !== -1}" ng-click="pickWord(w, $index)">{{w}}</span>
</h2>
<button class="btn btn-danger btn-xs" ng-click="clear()">Try again</button>
JS