2015-12-17 2 views
1

У меня есть список данных, и с помощью нг-повтора, чтобы показать имУгловая нг клик не работает для нг-шоу

 <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 (провайдер) работает нормально, но мой неактивный() не сработал вообще, пожалуйста, если кто-то может мне помочь в этом

+0

Итак, когда отображается вторая кнопка, щелчок по ней не вызывает 'inactive()'? – Lucas

+0

вы можете предоставить полный код своего контроллера или его продукт на jsfiddle и предоставить нам ссылку? –

+0

thx, я нашел проблему сейчас – user3397259

ответ

1

Я сделал быстрый плункер с вашим кодом (пропустил модальный, хоть).

<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 

Plunker's at http://plnkr.co/edit/8ECFAL?p=preview.

+0

yup, thx для вашего ответа @ kl02, я нашел проблему сейчас, у меня есть 2 контроллера с похожим именем app.controller ('Voucher' и app.controller ('VoucherPP' и i поместите мою функцию на другом контроллере, чем то, что им предназначено, sory и thx для вашей помощи – user3397259