[英]Display alert message after page reload
我必须打电话给$route.reload();
在控制器2的addData
API调用中,这样我就可以在UI中获取添加的数据。 但是,由于页面刷新,“数据成功添加”文本消失了。
控制器1:
$rootScope.$on('reloaded', function(event, data) {
$scope.$parent.alerts.length=0;
$scope.$parent.alerts.push({type: 'success',msg: 'Data added successfully'});
});
控制器2:
$scope.add = function() {
someAPIService.addData(JSON.stringify($scope.rows)).success(function(response) {
ngDialog.close('ngdialog1');
$route.reload();
$rootScope.$emit('reloaded', "true");
});
}
HTML部分:
<section>
<div ng-controller="controller3">
<alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</alert>
</div>
<div class="row form-inline" ng-controller="controller2 as vm">
<!-- Table data with text fields-->
</div>
<script type="text/ng-template" id="addDataDialog">
<div id="frm" ng-controller="controller1" class="col-xm-6">
<div class="form-group">
<!-- Labels with text fields-->
</div>
<button class="ngdialog-button" ng-click="add()">Save</button>
</div>
</script>
</section>
注意:两个控制器都在同一JS
文件中,并且它们用于同一HTML文件。
您只想加载服务器端的最新记录列表。 然后就不需要使用$route.reload();
拨打电话后。 您只需要进行ajax调用即可获取可以解决您的问题的最新记录列表。 要制作ajax,您需要参考$http
仅当您需要在
$routeProvider
使用指定模板再次加载控制器时才使用$route.reload()
只是一个简单的答案提示:
同样,您可以使用本地存储(如果可用)来代替Cookie,请使用相同的步骤:
维护客户端状态的另一种方法是使用url参数,但这些参数不会重新加载页面
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.