有點新的新角。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