任何人都可以帮助我。我有这个代码:
<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()? 提前谢谢
答案 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;