代码之家  ›  专栏  ›  技术社区  ›  Noor A Shuvo

有条件地单击AngularJS

  •  1
  • Noor A Shuvo  · 技术社区  · 6 年前

    我里面有密码 ng-repeat

    <tr ng-repeat="location in assetLocations track">     
        <span class="fa fa-remove fa-lg text-danger" style="cursor: pointer;"
                            ng-show="location.isEdit"
                            ng-click="readOnly===false ? (cancel();location.isEdit = false; updateClicked = false;) : null"></span>
    </tr>
    

    在这里 location.isEdit 属性是动态设置的。

    span . 但是上面的代码给出了以下错误

    angular.js:11598错误:[$parse:syntax]语法错误:标记“;”是意外的,>>应在表达式的第29列[readOnly===false?>gt;(cancel();location.isEdit=false;updatelicked=false;):null]开始于>gt;[;location.isEdit=false;updatelicked=false;):null]。

    我可以在函数中设置变量,但我需要设置变量并调用函数 ng-click

    2 回复  |  直到 6 年前
        1
  •  2
  •   Immanuel Kirubaharan    6 年前

    你可以试试下面的代码,

    控制器 :

    $scope.conditionCancelClick = function(location){
        if(!$scope.readOnly){
            $scope.cancel();
            location.isEdit = false;
            $scope.updateClicked = false;
        }
    }
    

    模板:

    <tr ng-repeat="location in assetLocations track">  
        <span class="fa fa-remove fa-lg text-danger" style="cursor: pointer;" 
              ng-show="location.isEdit" ng-click="conditionCancelClick(location)"></span>
    </tr>
    
        2
  •  0
  •   Gaurav Singh    6 年前

    <tr ng-repeat="location in assetLocations track">     
        <span class="fa fa-remove fa-lg text-danger" style="cursor: pointer;"
                            ng-show="location.isEdit"
                            ng-click="readOnly===false ? (cancel(),location.isEdit 
    = false, updateClicked = false) : null"></span>
    </tr>