当动态数据不在同一按钮上的ID值中时,如何停止调用NG-click


<a id="cli_id"
   ng-controller="EservlogsModalCtrl"
   ng-click="foo()">
   Create New Log
</a> 

我正在使用jQuery触发点击事件:

 $(document).ready(function () {
    $('#cli_id').click(function (){
        var customer = $('#4c609cf1bbb6c5080865df9cfc1fb649_mylogs_details_customer').val();
        if (customer == '')
        {
            return false;
        }
    }); 
}); 

我曾期望ng-1时我 return false不会发射。但是我可以看到它确实发射了。

在这种情况下,我如何避免ng键触发?

首先不要将jQuery与Angular 一起使用,而是Angular Controller来操纵逻辑。

这可以通过几种方式完成,这是其中之一。

如果您有id 4c609cf1bbb6c5080865df9cfc1fb649_mylogs_details_customer的字段,则在其上使用 ng-model

使用ng-model的示例:

<input type="text" id="4c609cf1bbb6c5080865df9cfc1fb649_mylogs_details_customer" ng-model="customer_details">

控制器:

app.controller('myCtrl', function($scope) {
    $scope.openlogsEservModal = function(param1,param2,param3,param4)
    {
        if ($scope.customer_details; == '') {
            // return false / Do nothing;
        }
        else
        {
         // write your logic here
        }
    }
});

如果它是动态的, if you cannot use ng-model

在方法中,openlogsEservModal检查要使用angular.element检查的条件并执行逻辑。

这是控制器,您可以这样使用,

示例不使用ng-model::**

app.controller('myCtrl', function($scope) {
    $scope.openlogsEservModal = function(param1,param2,param3,param4)
    {
     var customer = angular.element('#4c609cf1bbb6c5080865df9cfc1fb649_mylogs_details_customer').val();
        if (customer == '') {
            // return false / Do nothing;
        }
        else
        {
         // write your logic here
        }
    }
});

最新更新