私はそれについて多くの記事を読んだが、私のコードで何が間違っているかは分かりません。私は2人のコントローラを持っています.1人は1人あたりの注文を収集し、もう1つは注文した製品でテーブルを表示します。明らかに、私は彼らに注文/製品に関するデータを共有してもらいたい。残念ながら、私は新しい製品を追加した後でordersテーブルを更新することはできません。コントローラ間でデータを共有し、コントローラ間でデータを共有する角度
export class OrderReviewController {
...
getProducts =() => {
this.orderDataFactory.setOrders(this.orderService.getOrdersPerAppointment());
return this.orderDataFactory.getProducts();
}
}
export class ProductController {
...
refreshOrdersTable =() => {
this.ordersData.setOrders(this.orderService.getOrdersPerAppointment());
this.ordersData.setProducts(undefined);
}
}
export class OrdersData implements interfaces.IOrdersDataFactory {
orders: interfaces.IOrder[];
products: interfaces.ISalesOrderDetail[];
getOrders =() => {
return this.orders;
}
setOrders = (orders: interfaces.IOrder[]) => {
this.orders = orders;
}
getProducts =() => {
if (!this.products){
this.products = [];
for (var i = 0; i < this.orders.length; i++) {
this.products = this.products.concat(this.orders[i].products);
}
}
return this.products;
}
setProducts = (products:any) => {
this.products = products;
}
}
`<tr ng-repeat="sample in oc.getProducts()">
<td><a href="" ng-dblclick="oc.openOrderPopup(sample.SalesOrderId.Id)">{{product.salesordername}}</a></td>
<td><a href="" ng-dblclick="oc.openContactPopup(sample.cdss_contactid.Id)">{{product.customerName}}</a></td>
<td>{{product.title}}</td>
<td>{{product.subject}}</td>
<td>{{product.type}}</td>
<td>{{product.sent ? "yes" : "no"}}</td>
</tr>`
残念ながら、私が手にonload:
Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
angularjs typescriptですを使用していません。角2はする。しかし、あなたのテンプレートはangularjsのように見えます。あなたはどちらを使っていますか? –
私は以前にAngular 1.xでtypescriptを使用していましたが、typescriptがそこで問題になっているとは思われません。私は角度1.5.8を使用 – cAMPy