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