Angular JS===比较不起作用
Angular JS === comparison not working
我正在尝试将从url传递给控制器的值与json文件中的字段进行比较。
galleryItem.html
<div class="filter-box">
<ul class="filter list-inline text-center" ng-repeat="gal in ParentData">
<li><a href="Gallery/({{gal.GalleryLink}})"></a></li>
</ul>
</div>
<div class="container-fluid">
<div class="row">
<div class="portfolio-box" ng-repeat="x in data">
<div class="col-sm-4">
<div class="item-img-wrap">
<img ng-src={{x.url}} class="img-responsive" alt="">
<div class="item-img-overlay">
<a href={{x.url}} class="show-image">
<span></span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
更新后的控制器:
controllers.controller('GalleryViewCtrl', function GalleryViewCtrl($scope, $http, $stateParams) {
$scope.pageName = '';
$scope.Description = '';
$scope.GalleryID = $stateParams.id;
$http.get('/data/galleryItems.json')
.then(function (response) { $scope.ParentData = response.data.galleries });
$http.get('/data/galleryItemImages.json')
.then(function (response) {
$scope.data = response.data.images.galleryIdentifier === $stateParams.id;
});
});
我验证了将正确的值传递给控制器,这些值是静态的,从json文件传递的数据也是静态的。我放置了一个if语句来检查是否为null。我暂时删除了它,以减少我正在使用的内容。
如果我删除===$stateParams.id,我会返回并正确显示所有图像。
如果我用我知道在列表中的值(4或'4')替换$stateParams.id,我不会得到任何返回。我还尝试了列表中最后一项的值。
调试时没有错误(加载脚本、读取json等),所有值都是正确的。
我对此还是个新手,有太多不同解决方案的文档,这一切都让我感到非常困惑。如果有人有任何想法,我们将不胜感激。
$scope.data
。我假设您的视图代码甚至在此之前就在调用galleryFiltered
。可能是在从方法返回值之前尝试添加null检查。
$scope.galleryFiltered = function () {
if($scope.data!=null)
{
return $scope.data.galleryIdentifier === $scope.GalleryID;
}
return false;
};
请记住,$http服务返回一个promise,因此您的$scope.data将未定义(或保持当前状态),直到$http.get('/data/galleryItemImages.json')
返回一个成功回调函数并从响应中为$scope.data
分配新值。
如果在promise得到解决之前运行$scope.galleryFiltered()
,那么在执行$scope.galleryFiltered()
时,您将拥有$scope.data == undefined
或存储在$scope.data
上的任何数据。
相关文章:
- 替换函数后的Javascript比较字符串不起作用
- 字符串比较在d3.rgb中不起作用
- 比较应用程序脚本中的两个数组不起作用
- Javascript 比较时间不起作用
- jQuery this.href 字符串比较不起作用
- 字符串比较不起作用
- Javascript数字变量比较不起作用
- Javascript中的字符串比较不起作用
- d3 本地存储比较数组 .filter 咖啡脚本;数组变量不起作用
- j查询帖子数据返回比较不起作用
- 将数组从文档属性与数据范围进行比较不起作用
- JavaScript 比较运算符不起作用
- 在javascript中比较日期不起作用
- 若语句不起作用,我将其与变量进行比较
- 字符串比较在Chrome中不起作用
- 为什么我的比较不起作用
- Angular JS===比较不起作用
- 与-1或未定义进行比较不起作用,无论是使用==还是===
- Javascript字符串比较不起作用
- Jquery比较字符串在POST中不起作用