有点新的新角。angularjs和使用ui.router提交后重新加载和重定向
我有一个页面,我填写表单并做一个职位。
然后我想做一个完整的浏览器重新加载并重定向到另一个名为“created.html”的页面。我在导航栏中有一个下拉列表,在提交ddl的可见元素之后,应该是我刚刚在表单中创建的元素。
我被重定向,但我的导航栏中的模型未更新。只有手动重新加载。所以...当重定向到“created.html”页面时,我如何完成重新加载?
如果我做下面的页面将重定向,然后重新加载,但不是很漂亮。
$window.location.href='/#/created';
location.reload();
stack = angular.module('Stack', ['ngAnimate', 'ui.bootstrap','ui.router']);
stack.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('stack', {
url: '/stack',
templateUrl: 'static/app/stack/stack.html',
controller: 'StackCtrl'
})
.state('created', {
url: '/created',
templateUrl: 'static/app/stack/created.html',
controller: 'StackCtrl'
})
})
stack.controller('StackCtrl',function ($scope,$http,$location,$state,$window) {
$scope.saved = null;
$scope.createStack = function() {
$http({
method: 'POST',
url: "stack",
data: JSON.stringify({"stack_name":$scope.stackName,"stack_namespace":$scope.stackNameSpace}),
headers: { 'Content-Type': 'application/json' }
}).then(function successCallback(response) {
$scope.saved = "saved";
$scope.isSaveDisabled=true;
$state.go('created', {}, {reload: true,inherit: false});
$window.location.href='/#/created';
}, function errorCallback(response) {
$scope.saved = "saved";
$scope.isSaveDisabled=false;
addAlert({ type: 'danger', msg: 'Oh snap! try submitting again.'});
});
}
})
<ul class="nav navbar-nav navbar-right">
<li><a ui-sref="form"><i></i> Form</a></li>
<!-- Single button with keyboard nav -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> {{selected_stack.stack_name}} <span class="caret"></span></a>
<ul class="dropdown-menu">
<li ng-repeat="stack in stack_not_selected"><a href="#">{{stack.stack_name}}</a></li>
<li role="separator" class="divider"></li>
<li><a ui-sref="stack">Create New Stack</a></li>
</ul>
</li>
</ul>
导航栏中应该发生什么?你可以发布相关的代码吗? –
添加了导航条形码。在登录时,我加载了导航ddl并加载。我想创建一个新项目,然后成为标题。所以我做了一个重新加载。 – Tampa