您好我是Angular和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.companies包含数据所以它继续其他并且$ scope.companies是空的!
谢谢。答案 0 :(得分:1)
更改此
if($scope.companies.length = 0)
到这个
if($scope.companies.length === 0)
答案 1 :(得分:1)
如果添加==而不是=
,请检查比较答案 2 :(得分:1)
单=
是赋值运算符。所以每次都在你的代码中,
if($ scope.companies.length = 0)
if 块将执行为false,因为0
相当于false
如果阻止这样改变你 -
if($scope.companies.length == 0)