鍍金池/ 問答/HTML5  Java  HTML  Office/ angular頁面數(shù)據(jù)加載時,存在遺漏,刷新頁面后,遺漏的數(shù)據(jù)被顯示出來

angular頁面數(shù)據(jù)加載時,存在遺漏,刷新頁面后,遺漏的數(shù)據(jù)被顯示出來

頁面初次加載后,不是一直存在這個遺漏問題,時有,時沒有。遺漏的數(shù)據(jù),在刷新頁面后出現(xiàn)!圖片描述

圖片描述

所有的數(shù)據(jù)與樣式加載都是通過angular實現(xiàn)的,
代碼如下:
//初始$scope.tablebody

$scope.vstablehead = [];
$scope.settablebody = function () {
    for (var i = 0; i < $scope.specification.length; i++) {

        //$scope.tablehead.push($scope.specification[i].name)
        $scope.tablebody.push({'options': []});  //創(chuàng)建子項
        $scope.recursionTablebody.push([]);//創(chuàng)建遞歸源子項[]


        for (var j = 0; j < $scope.specification[i].entries.length; j++) {
            if ($scope.specification[i].entries[j].isSelected) {
                //$scope.initisChecked($scope.specification[i].name)
                $scope.tablebody[i].options.push($scope.specification[i].entries[j].value)
                //if ($scope.tablehead.length==0) {
                //    $scope.tablehead.push($scope.specification[i].name)
                //} else {
                //    for (let y = 0; y < $scope.tablehead.length; y++) {
                //        if ($scope.specification[i].name != $scope.tablehead[y]) {
                //            $scope.tablehead.push($scope.specification[i].name)
                //        }
                //    }
                //}


            }

        }

        for (var p = 0; p < $scope.tablehead.length; p++) {


        }
        if ($scope.tablebody[i].options.length != 0) {
            $scope.tablehead.push($scope.specification[i].name)

            $scope.vstablehead.push($scope.specification[i].name)
        }

        console.log($scope.tablehead)

    }
    // $scope.tablebody.push({'options': []})  //創(chuàng)建子項
    // $scope.recursionTablebody.push([])//創(chuàng)建遞歸源子項[]
    for (var d = 0; d < $scope.tablebody.length; d++) {

        //console.log($scope.tablebody[d].options)
        $scope.recursionTablebody[d] = $scope.tablebody[d].options

    }
    //console.log(JSON.stringify($scope.recursionTablebody))
    // console.log(JSON.stringify($scope.tablebody))
    //初始取得頁頭
    $scope.tablehead = $scope.gettablehead
    madenew($scope.recursionTablebody)//生成新$scope.tablebody
    console.log(JSON.stringify($scope.tablebody))
}

//初始表格內(nèi)容

$scope.initisChecked = function (name, index, childItem) {
    var headIndex //頁頭位置
    $scope.tablehead.push(name)

    $scope.tablebody.push({'options': []})  //創(chuàng)建子項
    $scope.recursionTablebody.push([])//創(chuàng)建遞歸源子項[]

    if ($scope.tablehead.indexOf(name) == -1) {

            $scope.tablehead.push(name)




        $scope.tablebody.push({'options': []})  //創(chuàng)建子項
        $scope.recursionTablebody.push([])//創(chuàng)建遞歸源子項[]
    }
    console.log($scope.tablehead)
    ////保存子項  ----begin
    headIndex = $scope.tablehead.indexOf(name)
    if ($scope.tablebody[headIndex].options.indexOf(childItem) == -1) {//不包括才新增
        $scope.tablebody[headIndex].options.push(childItem)
    }
    ////保存子項  ----end


    //console.log(JSON.stringify($scope.tablebody))
    for (var d = 0; d < $scope.tablebody.length; d++) {

        //console.log($scope.tablebody[d].options)
        $scope.recursionTablebody[d] = $scope.tablebody[d].options

    }
    //console.log(JSON.stringify($scope.recursionTablebody))
    // console.log(JSON.stringify($scope.tablebody))
    madenew($scope.recursionTablebody)//生成新$scope.tablebody


}
回答
編輯回答
萢萢糖

$scope.$apply();你在控制器的底部加上這一行試試

2017年7月17日 03:45
編輯回答
舊言

各位同仁,幫幫忙,這個問題,已經(jīng)困擾我一周了,謝謝,非常感謝!

2018年3月4日 05:38
編輯回答
澐染

有線上demo么?
你在表格數(shù)據(jù)賦值渲染出來前console一下表頭數(shù)據(jù),看看是不是全的

2017年2月23日 20:14