您好,我是新手,JS,所以这可能是我制作的已知问题或一个愚蠢的错误,所以我有这个控制器,其中我具有此功能:
$scope.companies = [];
$scope.BindCompanies = function()
{
$scope.companies = JSON.parse( localStorage.getItem( Const.CacheKeys.Companies ) )
if($scope.companies.length = 0){
companyService.getAll()
.then(
function (response)
{
localStorage.setItem(Const.CacheKeys.Companies, JSON.stringify( response.data.d.results ))
$scope.companies = response.data.d.results;
setDataTableData();
}
);
}
else{
setDataTableData();
}
}
问题是在执行$ scope.com上包含数据,因此它继续使用,并且scope.com.panies是空的!
谢谢。
单个=
是一个分配运算符。因此,每次在您的代码中,
if($ scope.companies.length = 0)
如果块将执行为false,因为0
等于false
如果这样块,请更改您 -
if($scope.companies.length == 0)
更改此
if($scope.companies.length = 0)
到这个
if($scope.companies.length === 0)
只需在比较中检查add ==而不是=