我创建了一个SelectedProduct工厂来保存ProductDetailCtrl中的数据并在ProductOrder中检索数据Ctrl
工厂如下
.factory('SelectedProduct',function(){
var products = {};
return{
addCategory: function(_category){
return products.category = {category: _category};
},
addSelectedProduct: function(_name,_image,_quantity,_price){
return products.item = {name: _name, image: _image,quantity: _quantity,price: _price};
},
getSelectedProduct: function(){
return products.item;
},
getCategory:function(){
return products.category
}
}
})
在我的product_detail.html中,我通过按住ng键点击保存参数:
<img ng-src="{{product.image}}" alt="{{product.product_name}}" ng-click="SelectImage((detail.image = product.image),(detail.name = product.product_name),(detail.quantity = product.quantity),(detail.price = product.price))" width="500" height="340">
在ProductDetailCtrl中:
SelectedProduct.addCategory($stateParams.categoryName);
$scope.SelectImage = function () {
SelectedProduct.addSelectedProduct($scope.detail.name,$scope.detail.image,$scope.detail.quantity,$scope.detail.price);
};
然后我在product_order.html中调用已保存的数据:
<h3>RM {{selectedProduct.price}}</h3>
我的ProductOrderCtrl:
$scope.selectedProduct = SelectedProduct.getSelectedProduct();
var categoryName = SelectedProduct.getCategory();
但是输出只能在Chrome浏览器中显示,它在我的设备和其他浏览器中都能正常工作。我只是想知道为什么会这样。关于这个问题的任何想法和理由?
注意: 其他数据如名称,图像链接在chrome中工作正常,但只有00.00格式的价格无法显示。从MySQL在线检索的价格并存储在varchar中。
Chrome的结果
FireFox的结果
答案 0 :(得分:2)
Google Chrome中必须有一些缓存,尝试清空缓存和硬重新加载选项,只需右键点击刷新按钮即可在开发者模式下执行!