繁体   English   中英

角ng-click不适用于ng-show

[英]Angular ng-click not working for ng-show

我有数据列表并使用ng-repeat来显示

        <div class="modal-body">
            <input class="form-control input-lg" type="text" ng-model="providerPicked" placeholder="Cari Produk">
            <div class="button-search-result">
                <div ng-repeat="Provider in Providers">
                    <button type="button" class="btn btn-default btn-lg" ng-click="pickProvider(Provider)" ng-show="Provider.IsActive">{{ Provider.Name}}</button>
                    <button type="button" class="btn btn-default btn-lg" ng-click="inactive()" ng-show="!Provider.IsActive">{{ Provider.Name}}</button>
                </div>
            </div>
        </div>

这是我的控制器

    $scope.pickProvider = function (Provider) {
        console.log('pickProvider')
    };
    $scope.inactive = function () {
        console.log('inactive')
    };

我不明白的是,我的pickProvider(Provider)工作正常,但是我的inactive()根本没有触发,请有人帮我解决这个问题

我用您的代码做了一个快速调试(尽管跳过了模态)。

  <body ng-app="app">
    <div ng-controller="MyCtrl">
            <input class="form-control input-lg" type="text" ng-model="providerPicked" placeholder="Cari Produk">
            <div class="button-search-result">
                <div ng-repeat="Provider in Providers">
                    <button type="button" class="btn btn-default btn-lg" ng-click="pickProvider(Provider)" ng-show="Provider.IsActive">{{ Provider.Name}}</button>
                    <button type="button" class="btn btn-default btn-lg" ng-click="inactive()" ng-show="!Provider.IsActive">{{ Provider.Name}}</button>
                </div>
            </div>
    </div>
  </body>

在script.js中:

var app = angular.module('app',[]);
app.controller('MyCtrl', ['$scope',
    function ($scope) {

    $scope.Providers = [
      { Name: "AAA", IsActive: true },
      { Name: "BBB", IsActive: true },
      { Name: "CCC", IsActive: false },
      { Name: "DDD", IsActive: true },
      { Name: "EEE", IsActive: false }
    ];

    $scope.pickProvider = function (Provider) {
        console.log('pickProvider');
    };

    $scope.inactive = function () {
          console.log('inactive');
    };
}]);

我认为问题出在您发布的代码中,而不是模态或您在$ scope.Providers中拥有的任何东西。 我不太确定,因为它对我来说很好。 控制台输出说:

inactive
pickProvider
inactive

http://plnkr.co/edit/8ECFAL?p=preview上的插件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM