我使用的是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);
};
然后,您可以关闭每个警报窗口。