【发布时间】:2017-08-16 01:38:00
【问题描述】:
我的目标是
- 创建一个从 API 中提取食谱的购物清单。
- 将食材从一页转到另一页。
- 添加超过 1 个时刷新/加载数据的页面。
我遇到的问题是
- 仅加载 1 组配料
- 不允许再添加清除功能。
食谱页面
// Loading Recipes
/////////////////////////////////////////////////////////////////////
loadDetails1(id){
this.apiAuthentication.loadDetails(id)
.then(data => {
this.api = data;
});
}
// Add to Shopping List
/////////////////////////////////////////////////////////////////////
submit(api) {
let toast = this.toastCtrl.create({
message: 'Added to shopping list',
duration: 1000
});
console.log(this.api);
this.storage.get('myData').then((api) => {
// add one igredient to the ingredientLines object
// if it's still a string use JSON.parse() on it
this.storage.set('myData', api).then(result =>{
toast.present();
console.log(api);
});
});
}
HTML
<h1 (click)="submit(api?.ingredientLines)">Add to shopping list</h1>
<ul>
<li *ngFor="let item of api?.ingredientLines"><span>{{item}}</span></li>
</ul>
购物清单页面
getData() {
this.storage.get('myData').then((data => {
this.api = data;
console.log(data);
setInterval(() => {
console.log(data);
},5000);
}));
}
HTML
<ion-content padding>
<ion-card>
<ion-card-header>
{{api?.name}}
</ion-card-header>
<ion-list>
<ion-item>
<ul>
<li *ngFor="let item of api?.ingredientLines">
<ion-label>{{item}}</ion-label>
<ion-checkbox></ion-checkbox>
</li>
</ul>
</ion-item>
</ion-list>
<button ion-button block full color="danger" (click)="clear(item)">Remove</button>
</ion-card>
</ion-content>
视觉中显示的错误是https://www.youtube.com/watch?v=BDS_XTdw2S0 您可以看到,当我将商品添加到购物清单时,它不会更新,直到我关闭应用程序并重新启动它。也只有 1 项。
【问题讨论】:
-
何时/何地明确调用?
-
清除已添加
-
您是否从 api 获得了不止一行?您要从购物清单移回食谱页面以添加更多内容吗?没有得到流量
-
附上截图
-
你能把这个用例的轻量级版本放在 GIT repo 上吗?那么我们可以玩它不?
标签: angular typescript ionic-framework ionic2