[英]AngularJS ng-show only triggering once
我有以下HTML
<div class="alert alert-danger col-sm-10 col-sm-offset-1" ng-show="showErrorMessage">
<button data-dismiss="alert" class="close" ng-click="closeErrorMessage()">
×
</button>
<i class="fa fa-check-circle"></i>
<strong>Error</strong> The following errors have occurred:
<div ng-repeat="error in createResp.Errors">{{error}}</div>
</div>
在我的JavaScript中包含以下內容
$scope.showErrorMessage = false;
$scope.search = function () {
var createOrderResp = myData.create($scope.request);
createOrderResp.$promise.then(function (r) {
$scope.createResp = r;
if ($scope.createResp.Errors.length > 0) {
$scope.showErrorMessage = true;
}
}, function (r) {
handleResourceError(r);
});
};
$scope.closeErrorMessage = function () {
$scope.showErrorMessage = false;
};
因此,從頭到尾一切都很棒。 如果響應包含錯誤,則顯示div。 但是,在單擊關閉按鈕closeErrorMessage()
然后再次執行它之后,即使showErrorMessage標志變為true,也不會顯示錯誤警報。
問題在於data-dismiss
。 它將刪除整個alert
塊。 因此,使用范圍內的變量觸發ng-show
將無濟於事,因為將沒有html部分,因此需要進行觸發。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.