nep*_*une 8 javascript angularjs ionic-framework
我有一个视图,在Ionic + Angular应用程序中打开一个模态的简单按钮.单击按钮后正确显示模态模板:
<ion-modal-view>
<ion-header-bar>
<h1 class="title">Popular tags</h1>
<div class="buttons">
<button class="button button-clear button-stable" ng-click="closePopularForm()">Close</button>
</div>
</ion-header-bar>
<ion-content>
<div class="list">
<div class="item-divider text-center">
Select a tag to follow.
</div>
<label class="item">
<button class="button button-balanced" ng-click="addPopularTag('china')">China</button>
<button class="button button-balanced" ng-click="addPopularTag('uk')">United Kingdom</button>
<button class="button button-balanced" ng-click="addPopularTag('us')">United States</button>
</label>
</div>
</ion-content>
</ion-modal-view>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,模态包含3个按钮,每个按钮调用相同的功能但具有不同的参数.我有这个控制器包含功能:
app.controller('HomeCtrl', function($scope, $ionicSideMenuDelegate, $ionicModal) {
$ionicModal.fromTemplateUrl('add-popular.html', { scope: $scope }).then(function(modal) {
$scope.modalPopular = modal;
});
$scope.closePopularForm = function() {
$scope.modalPopular.hide();
};
$scope.openPopularForm = function() {
$scope.modalPopular.show();
};
$scope.addPopularTag = function(poptag) {
console.log(poptag);
console.log('pop form submited '+poptag);
};
});
Run Code Online (Sandbox Code Playgroud)
问题是无论在模态中单击哪个按钮,addPopularTag都会使用第一个按钮的参数调用该函数(china在这种情况下).我检查了按钮的html源代码,并使用不同的参数正确呈现它们.
以下是Codepen中问题的复制. 您可以在控制台中看到它.
代替
<label class="item">
<button class="button button-balanced" ng-click="addPopularTag('china')">China</button>
<button class="button button-balanced" ng-click="addPopularTag('uk')">United Kingdom</button>
<button class="button button-balanced" ng-click="addPopularTag('us')">United States</button>
</label>
Run Code Online (Sandbox Code Playgroud)
和
<button class="button button-balanced" ng-click="addPopularTag('china')">China</button>
<button class="button button-balanced" ng-click="addPopularTag('uk')">United Kingdom</button>
<button class="button button-balanced" ng-click="addPopularTag('us')">United States</button>
Run Code Online (Sandbox Code Playgroud)
虽然我不知道这个标签有什么作用