2016-03-07 87 views
1

試圖創建一個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(); 

感謝

+0

你只會得到異步調用響應在其回調.. –

回答

2

執行asynchronouslyget方法。您目前正在將$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); 

Dates documentation,或moment.jsforked Plnkr

+0

確定這是有道理的,但我得到的當前時間(而不是08:00:00,當我這樣做時,我的json中的價值)。我的運動員已更新,以顯示我的意思 – user3489502

+0

問題在於您的日期創建。你應該做一些像'Date.parse(「2016-01-01」+ data.time_start);' – cl3m

+0

超級感謝,它的工作 – user3489502