【发布时间】:2020-08-08 06:27:26
【问题描述】:
我想将用户名和 id 从 php 登录页面传递到 angularjs 控制器 onload 。我通过 ng-init 尝试调用 basicDetails(username, id) 。此功能在主控制器结束时触发。还有另一个问题将参数传递给 angularjs 变量 print 在 basicDetails 函数内部传递了值,在外部它显示值为空
<body ng-controller="mainController" ng-init="basicDetails('<?php echo$_SESSION["username"];?> ','<?php echo$_SESSION["itmsNo"];?> ')">
<center>
<div >
<b><?php echo htmlspecialchars($_SESSION["username"]); ?></b><br>
<a href="reset-password.php" class="btn btn-warning">Reset Password</a><br>
<a href="logout.php" class="btn btn-danger">Sign Out</a>
</div> </center>
<!-- Main div showing different templates loaded by ng-view directive -->
<div class="container main" ng-view>
</div>
主控制器.js
templeApp.controller('mainController', ['$scope','$rootScope','$http','webService', function($scope,$rootScope, $http,webService,user) {
$rootScope.loggedUser;
$scope.itmsNo;
// This function trigger by ng-init , but called end of main controller
$scope.basicDetails = function(logedUser,itmsNo){
$rootScope.loggedUser =logedUser;
$scope.itmsNo =itmsNo;
console.log($scope.loggedUser ); // console print actual value
}
console.log('..'+$scope.loggedUser ); // console print empty value
$scope.user = webService.userData('impl/userData.php',$scope.loggedUser);
}]);
【问题讨论】:
-
我试过隐藏文件,但不工作。为什么?
标签: php angularjs parameter-passing onload ng-init