尝试创建一个 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/