我使用的是Angular-ui,我想創建單個警報。但警報將不會關閉Angular.ui警報不關閉
<div ng-controller="AlertCtrl">
<alert type="danger" close>i'm alert</alert>
</div>
我使用的是Angular-ui,我想創建單個警報。但警報將不會關閉Angular.ui警報不關閉
<div ng-controller="AlertCtrl">
<alert type="danger" close>i'm alert</alert>
</div>
如果您只想顯示一個警報,您需要稍微改變您的方法。
你應該通過從AlertCtrl的範圍功能「關閉」屬性,像這樣:
<alert type="{{alert.type}}" close="closeAlert()" ng-show="alert != null">
{{alert.msg}}
</alert>
注意你的類型,以及警報文本,現在引用提醒對象。另請注意,如果警報對象不爲空,我已添加ng-show屬性以僅顯示警報標記。
,然後實現在您的控制器功能,並定義提醒對象爲它操作:
$scope.alert = { type: 'danger', msg: 'im alert' };
$scope.closeAlert = function() {
$scope.alert = null;
}
其實你甚至不需要一個控制器和一個功能,如果你把你的郵件中HTML:
<alert type="danger" close="bCloseAlert=1" ng-hide="bCloseAlert">i'm alert</alert>
您可以在HTML中使用:
<div ng-show="hasError">
<alert ng-repeat="error in errors track by $index" type="danger" close="closeAlert($index)">{{error}}</alert>
</div>
並在您的控制器中:
$scope.hasError = false;
$scope.errors = [];
$scope.closeAlert = function (index) {
$scope.errors.splice(index, 1);
};
然後,您可以關閉每個警報窗口。