gpt4 book ai didi

javascript - $scope 中的值在 location.path 之后不可见

转载 作者:太空宇宙 更新时间:2023-11-04 15:47:33 24 4
gpt4 key购买 nike

我在使用 angularjs 构建单页应用程序时遇到问题。我的应用程序有一个登录页面。如果身份验证成功,应用程序将被路由到主页,其中显示 $scope 中的一些数据。但登录后不显示任何数据。

登录成功后,我正在使用 location.path 路由到主页。作为引用,我试图在 home.html 中打印“$scope.homePageDetails”,但没有打印任何内容。有人可以说我做错了什么以及如何解决这个问题吗?

index.html 文件:

<html>
<body>
<nav>
<ul>
<li ng-hide="isUserLoggedIn"><a href="#login"> <span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</ul>
</nav>

<div ng-view></div>
</body>
</html>

login.html 文件:

<div>
<form class="form-signin">
<input type="text" class="form-control" placeholder="Email" ng-model="userDetails.userName" required autofocus>
<input type="password" class="form-control" placeholder="Password" ng-model="userDetails.Password" required>
<button class="btn btn-lg btn-primary btn-block" type="submit" ng-click="signIn()">
Sign in</button>
</form>

home.html:

<p> {{homePageDetails}}</p>

Angular 模块和 Controller :

app.controller('myCtrl', ['$scope','$http', '$location'    function($scope,$uibModal,$http, $location, $window) {
$scope.signIn = function(){

$http({
url: "http://localhost:3050/postSignIn",
method: "POST",
headers: {'Content-Type': 'application/json; charset=utf-8'
},
data: $scope.userDetails
})
.then(function(response){
console.log('resp is',response);
$scope.isUserLoggedIn = true;
$location.path('/home');

$http({
url: "http://localhost:3050/getHomePageDetails",
method: "GET",
headers: {'Content-Type': 'application/json; charset=utf-8'
}
})
.then(function(response){
$scope.homePageDetails = response.data.slice(0);
}, function(response){
// failure callback
console.log('failure in getting homePageDetails',response);
});
},
function(response){
// failure callback
console.log('failure is',response);
});
}
}]);

模块:

var app = angular.module('myApp', ['ngRoute']);

路由器:

app.config(function ($routeProvider, $locationProvider, $httpProvider) {

$routeProvider.when('/home',
{
templateUrl: 'home.html',
controller: 'myCtrl'
});

}

最佳答案

你可以试试这个

$routeProvider
.when('/home',
{
templateUrl: 'home.html',
controller: 'myCtrl'
})
.when('/login',
{
templateUrl:'login.html',
controller:'myCtrl'
})

关于javascript - $scope 中的值在 location.path 之后不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43436036/

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