Javascript 基于ajax返回值的Ngshow/hide
有人知道一种基于ajax返回值动态使用ngshow显示/隐藏内容的方法吗 这就是我到目前为止所做的:Javascript 基于ajax返回值的Ngshow/hide,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,有人知道一种基于ajax返回值动态使用ngshow显示/隐藏内容的方法吗 这就是我到目前为止所做的: $scope.loggedShow = false; var user = ''; $scope.login = function(username, password) { $http({ url: 'ajax/login.php', method: 'POST', data: { 'username': username, 'pass
$scope.loggedShow = false;
var user = '';
$scope.login = function(username, password) {
$http({
url: 'ajax/login.php',
method: 'POST',
data: {
'username': username,
'password': password
}
}).success(function(data, status, headers, config) {
console.log(data);
console.log('working');
user = 'logged';
if (user == 'logged') {
$scope.loggedShow = true;
} else {
$scope.loggedShow = false;
}
getBanners();
}).error(function(data, status, headers, config) {
console.log('womp womp');
});
};
下面是html:
<div class="widget-header header-color-blue" ng-show="loggedShow" >
<div class="row">
<div class="col-sm-6">
<h4 class="bigger lighter">
<i class="glyphicon glyphicon-align-justify"></i>
BANNERS
</h4>
</div>
<div class="col-sm-3">
<button restrict access="admin" ng-click="addNewClicked=!addNewClicked;"
class="btn btn-sm btn-danger header-elements-margin">
<i class="glyphicon glyphicon-plus"></i>
NEW PROJECT
</button>
</div>
<div class="col-sm-3">
<input type="text" ng-model="filterBanners"
class="form-control search header-elements-margin"
placeholder="FILTER BANNERS">
</div>
</div>
</div>
横幅
新项目
基本上,我将控制器中的值设置为false,然后当返回值出现时,我验证它并将其设置为true,这将显示元素。不幸的是,这并没有达到预期效果。它可以很好地处理原始语句(它正确地隐藏了元素),但在返回值时范围不会更新。这就是角度的工作原理吗?我应该使用指令吗 数据是文本字符串吗?你应该检查它。它正在正确地处理循环,我可以在检查中记录日志。user==“logged”有效且为字符串。您可以从代码中看到,我实际上只是手动设置它,以检查我是否可以让它工作。看起来此视图超出了控制器的范围。那么loggedShow每次都是未定义的,ng show每次都被解释为false。查看此视图是否在您设置变量的ng控制器作用域内。您是否尝试$apply在http调用返回后触发摘要,即使值更改,您的视图也可能无法更新。如果loggedShow不起作用,请告诉我们您是否看到您的div?