html:

<p>
   <a class="btn btn-lg btn-success" href="#"ng-click="splendido()">{{salute}}</a></p>


main.js

$scope.splendido=function()
    {
      var calls=1;

      $scope.salute='I'm greeting you for first time';

      if(calls==2)$scope.salute="2nd time";
      if(calls==3)$scope.salute="3rd time";
      if(calls>3)$scope.salute="you're annoying me" ;
      calls++;
    }


每次单击该按钮都会调用splendido()函数,我的目标是多次更改{{salute}}的内容。
我没有设法正确,为什么它没有按我的预期进行更新?

我正在使用Angular js 1.5.8

最佳答案

首先,您需要在函数外部实例化变量“ salute”,以在加载控制器时获得默认值。

其次,与第一步一样,您需要在函数外部初始化'calls'变量,如果不执行此操作,则'call'总是返回1。

此代码有效!

$scope.salute="I'm greeting you for first time";
var calls=1;
$scope.splendido = function() {
    if(calls==1)$scope.salute="2nd time";
    if(calls==2)$scope.salute="3rd time";
    if(calls>2)$scope.salute="you're annoying me" ;
    calls++;
}

08-17 06:38