1
我必须显示一个产品列表,并能够点击它们来获取更多关于它们的信息。Angular JS ng-repeat元素不更新
我的产品列表存储在一个名为服务:“productsServices”
我谁显示我的所有产品的HTML页面和其他谁1个产品显示详细信息。每个html页面都有自己的控制器。
当我更新我的详细信息页面中的产品时,更改是在我的产品服务中完成的,但未在我的全球产品视图中进行验证。
(function()
{
angular.module('app').service('productsServices', ['$http', '$q', ProductsServices])
that = this
that.products = /*arrayOfData*/;
that.getProducts = function() {
return that.products;
}
})();
(function()
{
angular.module('app').controller('ProductsController', ['$http', '$q', 'productsServices', ProductsController])
that = this
that.products = productsServices.getProducts;
that.showDetail = function (item) {
$state.go('menu.product', { myParam: item });
}
})();
<!--Global HTML page-->
<ion-content id="content" class="has-header has-subheader" delegate-handle="myScroll">
<ion-list>
<ion-item ng-repeat="product in that.products() track by product.ProductId" href="#" ng-click="that.showDetail({{product}})">
<div class="innerProd">
<img id="productPicture" name="productPicture" ng-src='data:image/png;base64,{{product.ThumbnailPhoto}}'></div>
<div class= "innerProd">
<p>{{product.Name}}</p>
<p>{{product.Price}}$</p>
<ion-option-button class="button button-assertive"
ng-click="doDelete({{product}})">
Supprimer
</ion-option-button>
</div>
</ion-item>
</ion-list>
<ion-infinite-scroll ng-if="moreDataCanBeLoaded()" icon="ion-loading-c" on-infinite="loadMoreData()" distance="100%">
</ion-infinite-scroll>
</ion-content>
所以,当我检查“that.showDetail”方法sended的产品,它的老产品,即使该产品已在服务更新是谁sended。
我没有语言错误的英语很抱歉,我一句^^“提前
感谢您的帮助^^”
that.products =“arrayOfData “; ? – Vitalii
'angular.module('app').service('ProductsController',['$ http','$ q','productsServices',ProductsController])' 这行看起来不行,正在尝试创建一个名为service “ProductsController” –
我不明白如何从服务器或其他页面的任何变化可以注意到全球的HTML页面。你想这样做“that.products()”会自动更新,无需重新加载全球页面的权利? – Pico12