gpt4 book ai didi

angularjs - 首次加载和刷新后重定向到页面

转载 作者:行者123 更新时间:2023-12-01 02:23:06 25 4
gpt4 key购买 nike

我正在开发一个两页的 AngularJS 应用程序,用户必须先完成第一页,然后才能进入第二页。

我的 $routeProvider 设置如下:

$routeProvider.
when('/config', {templateUrl: 'views/config.html', controller: ConfigController}).
when('/levels', {templateUrl: 'views/levels.html', controller: LevelsController}).
otherwise({redirectTo: '/config'});

所以用户最初被发送到配置页面,在填写一些字段后,他们按下一个按钮并被带到级别页面。问题是,如果他们在 Levels 页面上刷新页面,我需要将他们带回 Config 页面以再次填写字段,然后他们才能返回 Levels 页面。

有没有办法实现这一目标?

最佳答案

您可以做的是在主 Controller 中创建一个范围变量,然后检查该变量是否已初始化。

angular.module('MyApp', [], function($routeProvider) {
$routeProvider.
when('/config', {templateUrl: 'views/config.html', controller: ConfigController}).
when('/levels', {templateUrl: 'views/levels.html', controller: LevelsController}).
otherwise({redirectTo: '/config'});
});

function MainCntl($scope) {
$scope.hasConfig = false;
}

function ConfigController($scope, $location) {
// they press a button and are taken to the Levels page
$scope.onSubmit = function () {
$scope.hasConfig = true;
$location.path('/levels');
}
}

function LevelsController($scope, $location) {
if($scope.hasConfig) {
$location.path('/config');
} else {
//Stay on page
}
}

你的 html 可能是:
<body ng-app="MyApp">
<div ng-controller="MainCntl">
<div ng-view></div>
</div>
</body>

关于angularjs - 首次加载和刷新后重定向到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18810136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com