AngularJs从对象获取日期

时间:2017-11-08 16:22:01

标签: javascript angularjs arrays date object

任何人都可以帮助我。我有这个代码:

 <h5>The price for parking is : </h5>{{ticket}} 

付费公园

这是控制器的清单:

$scope.cars=[
{
    plate:'AA45UNW',
    color:'green',
    entrance:new Date()
}
];

按钮功能:

$scope.calculateTicket=function(car){
        console.log("Inside calculateTicket");
        $scope.ticket=parkingFactory._calculateTicket;

    };

这是工厂服务:

app.factory("parkingFactory", function () {
    var _calculateTicket=function(car){
        var x=new Date();
        var departHour=x.getHours();
            $log.log("Depart Hour is :"+ departhour);
        var y=cars.entrance;
        var entranceHour=y.getHours();
            console.log("Entrance Hour is :"+ entranceHour);
        var parkingPeriod=departHour-entrancehour;
        var parkingPrice=parkingPeriod *10;

    return{
        period: parkingPeriod,

        price: parkingPrice

    };  

    };

    return {
        calculateTicket: _calculateTicket
    };


});

但是当我试图检索car.entrance时,它表示未定义? 如何提取da Date()? 提前谢谢

2 个答案:

答案 0 :(得分:0)

$scope.cars是对象数组。您应该指定索引来访问$ scope.cars

中的日期

前:

$scope.cars=[
{
    plate:'AA45UNW',
    color:'green',
    entrance:new Date()
}
];

您可以使用

访问入口
$scope.cars[0].entrance;

答案 1 :(得分:0)

如上面的答案所述,你错了。

你的$ scope.cars是一个数组,你不能像你那样访问它。

有两种方法可以处理它:

解决方案1 ​​: 将其定义为对象而不是数组:

$scope.cars={
plate:'AA45UNW',
color:'green',
entrance:new Date()
}

然后像$scope.cars.entrance

一样访问它

解决方案2

通过提及索引来访问它:

$scope.cars[0].entrance;