在Angularjs外部函数中访问$ http.get的结果

时间:2016-03-07 16:32:57

标签: javascript angularjs

尝试创建一个Date对象(仅使用时间)并在我的函数之外访问该值

任何帮助将不胜感激。请参阅下面的代码或我的plunker

  var objts = "";

  $scope.today = function() {

        $http.get('time.json').success(function(data, status, headers, config) {

        objts   = new Date(data.time_start);
        objte   = new Date(data.time_end);

        console.log(data);
    }).error(function(data, status, headers, config) {
        console.log("No data found..");
  });  

    $scope.dt = objts;  // ---- Trying to use value of objts here ----

  };
  $scope.today(); 

谢谢

1 个答案:

答案 0 :(得分:2)

执行asynchronously方法$scope.dt。您目前正在get承诺解析功能之外设置$scope.dt值。

您应该在get承诺解决时设置$scope.dt = null; $scope.today = function() { $http.get('time.json').success(function(data) { var objts = new Date(data.time_start); var objte = new Date(data.time_end); $scope.dt = objts; console.log(data); }).error(function(data) { console.log("No data found.."); }); }; $scope.today(); 变量:

$scope.dt = Date.parse("2016-01-01 " + data.time_start);

修改
您的问题实际上来自您创建日期的方式。你应该做点什么:

ng-style

请参阅Dates documentationmoment.jsforked Plnkr