angular.js ng-click监听器中的错误或我错过了什么?

时间:2014-01-15 16:18:34

标签: javascript angularjs

似乎这段代码将永远在我点击我的按钮一次之后,不断地将winnerName和loserName重置为''。即使我将它们设置为其他东西,它们也会立即被重置。这是一个错误,还是我错过了什么?

<button type="button" ng-click="addGame(winnerName, loserName); winnerName = ''; loserName = '';" >Add game</button>

如果我将字符串重置移动到addGame() - 函数,一切正常。

1 个答案:

答案 0 :(得分:0)

我把一个plunker放在一起测试这个语法,一切似乎都运行良好(参见:http://plnkr.co/edit/8ixYchcW6AHdCkYd10fg?p=preview)。关键测试是单击“Everything Off”按钮,该按钮定义如下:

<input type="submit" ng-click="textOff(); showBold = false; showRed = false;" value="EVERYTHING OFF" />

正如您所见,此处的ng-click调用一个函数,并设置两个与您使用的语法相同的变量。 textOff函数如下所示:

$scope.textOff = function (){
  $scope.displayText = "";
};

即使在此之后,当您单击其他切换按钮时,文本和样式仍会正常切换。我猜这里还有其他事情发生了。可能还有其他东西正在不断地重置这些值,或者它们没有按照你期望的方式再次设置。

希望这会有所帮助!