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

标签 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(); 

谢谢

最佳答案

get 方法是异步 执行的。您当前正在 get promise 解析函数之外设置 $scope.dt 值。

get promise 解决时,您应该设置 $scope.dt 变量:

$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);

参见 Dates documentation , 或 moment.js , 和 forked Plnkr

关于javascript - 在 Angularjs 外部函数中访问 $http.get 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35849004/

相关文章:

javascript - HTML5 拖放内部子元素

javascript - 使用 AngularJS 添加两个十进制数

javascript - angular2 - 响应未在 html 中呈现

javascript - 是否可以将值/ng-模型从一个指令模板发送到另一个指令模板? (AngularJS)

javascript - 具有右箭头形状的自定义 div

javascript - Javascript RegExp 是否可以在不搜索的情况下匹配精确的字符串偏移量?

javascript - 复选框上的 Onclick 函数仍然有效,即使它被 JavaScript 替换为其他函数

css - 使 Angular Material 的 md 卡不重叠

javascript - 如何将数据推送到带有键和值的数组中?

javascript - 鼠标悬停在图像上时按钮隐藏