如果我的条件保存在 cookie 中,如何在前端使用 ng-if?
How to use ng-if in front end if my condition is in saved in cookies?
当我开始学习 angulerjs 时,我遇到了一些小问题。在开发 angulerjs 应用程序时。
我最近设置了登录过程,现在卡在前端显示上了。
如果用户已登录,我想显示特定内容。
例如:
<!--show this if cookies is set to true -->
<li><a href="#/logout"><span class="icon mail"></span>Logout</a></li>
<!-- show this if cookies is undefined -->
<li><a href="#/login"><span class="icon mail"></span>Login</a></li>
据我所知,我将不得不为此使用 ng-if。
如果登录值存储在 cookie 中,我如何检查 ng-if 的条件?
控制器
app.controller('AngularLoginController', ['$scope', '$http','$cookies',
function($scope, $http, $cookies) {
$scope.loginForm = function() {
$http.post("login.php", {
'email' :$scope.inputData.email,
'password':$scope.inputData.password
}).success(function(data) {
console.log(data);
if ( data == 'correct') {
var loggedIn = $cookies.get('loggedIn');
// Setting a cookie
$cookies.put('loggedIn', true);
//window.location.href = 'welcome_dashboard.php';
}
else {
$scope.errorMsg = "Invalid Email and Password";
}
})
}
}]);
在您的控制器中创建一个函数以在此处使用简单的 javascript
获取 cookie
function getCookie(name) {
var value = "; " + document.cookie;
var parts = value.split("; " + name + "=");
if (parts.length == 2) return parts.pop().split(";").shift();
}
检查cookie是否存在
$scope.hasCookie=function(){
var ck=getCookie("your cookie name");
if(ck && ck !="")
return true;
return false;
}
Html
<!--show this if cookies is set to true -->
<li ng-if="hasCookie()"><a href="#/logout"><span class="icon mail"></span>Logout</a></li>
<!-- show this if cookies is undefined -->
<li ng-if="!hasCookie()"><a href="#/login"><span class="icon mail"></span>Login</a></li>
当我开始学习 angulerjs 时,我遇到了一些小问题。在开发 angulerjs 应用程序时。
我最近设置了登录过程,现在卡在前端显示上了。 如果用户已登录,我想显示特定内容。 例如:
<!--show this if cookies is set to true -->
<li><a href="#/logout"><span class="icon mail"></span>Logout</a></li>
<!-- show this if cookies is undefined -->
<li><a href="#/login"><span class="icon mail"></span>Login</a></li>
据我所知,我将不得不为此使用 ng-if。 如果登录值存储在 cookie 中,我如何检查 ng-if 的条件?
控制器
app.controller('AngularLoginController', ['$scope', '$http','$cookies',
function($scope, $http, $cookies) {
$scope.loginForm = function() {
$http.post("login.php", {
'email' :$scope.inputData.email,
'password':$scope.inputData.password
}).success(function(data) {
console.log(data);
if ( data == 'correct') {
var loggedIn = $cookies.get('loggedIn');
// Setting a cookie
$cookies.put('loggedIn', true);
//window.location.href = 'welcome_dashboard.php';
}
else {
$scope.errorMsg = "Invalid Email and Password";
}
})
}
}]);
在您的控制器中创建一个函数以在此处使用简单的 javascript
获取 cookiefunction getCookie(name) {
var value = "; " + document.cookie;
var parts = value.split("; " + name + "=");
if (parts.length == 2) return parts.pop().split(";").shift();
}
检查cookie是否存在
$scope.hasCookie=function(){
var ck=getCookie("your cookie name");
if(ck && ck !="")
return true;
return false;
}
Html
<!--show this if cookies is set to true -->
<li ng-if="hasCookie()"><a href="#/logout"><span class="icon mail"></span>Logout</a></li>
<!-- show this if cookies is undefined -->
<li ng-if="!hasCookie()"><a href="#/login"><span class="icon mail"></span>Login</a></li>