AngularJS ng-repeat视图在数据更新后未更新

时间:2015-06-19 16:59:23

标签: angularjs angularjs-ng-repeat

在我的页面中有一些数据在ng-repeat中。 当页面和数据第一次加载时,数据显示出来。 当我离开页面时(使用Angular Routing)对数据进行更改(保存在db中)然后返回页面(调用db获取新数据)ng-repeat数据不刷新。我可以看到新数据加载到数组中,它是新数据。

我使用

在页面上启动该过程
var sp = this;
sp.viewData = [];
sp.employee = [];
sp.ViewDataTwo = [];
$(document).ready(function () {
    var testHeader = setInterval(function () { myTimer() }, 1000);
    function myTimer() {
        if (addHeaderToken() != undefined) {
            clearInterval(testHeader);
            sp.usageText = "";
            if (sessionStorage.getItem(tokenKey) != null) {
                sp.associatedInfo = JSON.parse(getassociatedInfo());



                loadDataOne();

                loadDataTwo();
            }
        }
    }
});

我之所以这样做,是因为我需要从JS脚本中获取我的安全性,因为我对变更无能为力。所以我需要确保代码已运行以获取令牌。

这是我称之为的功能..

function loadPasses() {
$http.defaults.headers.common.Authorization = "Bearer " + addHeaderToken();
$http.get('/api/Employee/xxx', { params: { employeeId: sp.employeeId } }).then(function (data) {
sp.viewData = data.data;
for (var i = 0; i < $scope. viewData.length; i++) {
            sp.passes[i].sortDateDisplay = (data.data.status == "Active" ? data.data.DateStart + "-" + data.data[i].DateEnd : data.data[i].visitDate);
            sp.passes[i].sortDate = (data.data[i].status == "Active" ? data.data[i].DateStart: data.data[i].visitDate);
}   
});
}


function loadDataTwo () {
    $http.defaults.headers.common.Authorization = "Bearer " + addHeaderToken();
    if (sessionStorage.getItem(tokenKey) != null) $http.get('/api/Employee',
    {
        params: { employeeId: sp.employeeId }
    }).then(function (data) {
        sp.employee = data.data;
        var tempPassString = "";
        sp.ViewDataTwo = [];
        var totalA = 0;
        var totalU = 0;

        for (var p = 0; p < sp.employee.dataX.length; p++) {
            sp.ViewDataTwo.push(sp.employee.dataX[p].description + "(" + /** math to update description **// + ")");
            totalA += parseInt(parseInt(sp.employee.dataX[p].Anumber));
            totalU += parseInt(sp.employee.dataX[p].Bnumber));
        }
        sp.usageArr.push(" Total: " + totalA- totalU) + "/" + totalA + " Available");

        //$scope.$apply();

    });
}

我的观点sp.viewData和sp.ViewDataTwo都在ng-repeats中。 在加载时运行良好..当我外出并重新进入时。我看到数据重新加载。但观点并非如此。 我已经攻击了Dom以使它现在正常工作。但我想以正确的方式做到这一点.. 任何帮助。 我用过 $范围$适用()。 但它告诉我摘要已经在进行中;

视图在模板中.. 请帮忙

0 个答案:

没有答案