$ scope.Value更改相同功能



您好,我是新手,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 ==而不是=

最新更新