0

我正在使用全局变量与外部 javascript 进行通信。所以我用

window.report = $scope.myData  // my scope with all data

问题是当我尝试运行其他报告时,我应该首先重置这个全局变量,然后再次填充它。

我尝试过:

window.report = null;

window.report = {};

但是如果没有要覆盖的新数据,旧数据仍然存在....

这可能是导致问题的部分模板缓存吗?

我试图登录控制台 window.report 变量并且未定义。所以问题应该出在其他地方......

[更新]

这里的问题可能是服务。

app.factory('Report', ['$http', function($http,$q){

var Reports = {

    reports : {},

    requests :[{'url':'getReport','response':'Analizing page','count':1},
               {'url':'getPagerank','response':'Getting 1','count':2},
               {'url':'getRobots','response':'Getting 2','count':3},
               {'url':'getIpCanonicalization','response':'Gwetting 3','count':4}]

              ]

};

Reports.getReport = function(target, source, response, callback) {
    return $http({  url:"/seo/getter/", 
                    method:"POST", 
                    //cache: true,
                    params:{"url" : target, "action": source}
                }).success(function(result) {
                    callback(result);
                    console.log(Reports.reports)
                    jQuery.extend(true,Reports.reports, result.data)
                    //console.log($scope.user)
                }).error(function(error){
                    callback(result);
                    jQuery.extend(true,Reports.reports, result.data)
                })
}

    Reports.startQueue = function (target, callback) {
        var promises = [];
        this.requests.forEach(function (obj, i) {
            promises.push(Reports.getReport(target, obj.url, obj.response, function(response,reports){
                callback(obj.response,Reports.reports,obj.count)
            }));
        });
    }

return Reports;
}])

我认为当我尝试更新视图时 Reports.reports var 仍然包含旧数据。所以问题不应该是全局b变量,而是仍然抓取先前数据的服务。更新时如何确定 Report.reports 为空?

4

2 回答 2

0

我已经解决了向我的服务添加一个新功能的问题,并且在所有过程之后我重置了我的服务变量:

    Reports.resetReports = function () {
        Reports.reports = {};
    }
于 2013-10-12T13:57:22.790 回答
0

不要使用 window 只是不要将 var 放在它前面。此外,您不能技术删除只是基本 javascript 的全局变量。

于 2013-10-12T09:25:02.540 回答