目前在视图中totalCost
作为函数传递给round
,但它必须是整数值。
查看
{{round(shoppingCart.totalCost)}}
工厂
myApp.factory( ....
var calculateTotalCost = function(){
return this.items.map(function(item){
return HelperFunctions.getPrice(item) * item.quantity;
}).reduce(function(p, c){
return p + c;
});
};
var factory = {
shoppingCart: {order: currentOrder, totalCost: calculateTotalCost}
}
return factory;
}
如何解决?
round : function (value) {
return typeof value !== 'undefined'? value.toFixed(2): 0;
}
答案 0 :(得分:1)
目前,您拥有totalCost
变量,该变量在calculateTotalCost
对象中包含shoppingCart
函数的引用。因此,在视图中显示相同的变量时,您需要通过$scope.shoppingCart = shoppingCart
您可以在您的情况下使用精度为number
的{{1}}过滤器本身,因为您希望将值固定为精度2
。这也可以帮助您以货币格式显示数字。
2
答案 1 :(得分:0)
您应该避免直接在视图表达式中从工厂调用函数。
在指令的控制器中:
getTotalCost
(隐藏calculateTotalCost
)