【发布时间】:2017-10-26 09:03:16
【问题描述】:
我需要在按下按钮时创建新的列表项(来自 api 的值),但不知道该怎么做。请问有什么帮助吗? 这是代码:
<ul>
<li *ngFor="let joke of jokes">{{joke.value}}</li>
</ul>
<button (click)="loadMore">more jokes</button>
`,
providers: [RandomService]
})
export class PocetnaComponent {
jokes: Joke[];
constructor(private jokesService: RandomService){
this.jokesService.getRandomJokes().subscribe(jokes => {this.jokes =
[jokes]});
}
loadMore(){
this.jokes.push();
}
}
interface Joke{
id: number;
value: string;
}
这里是服务:
@Injectable()
export class RandomService {
constructor(private http: Http){
console.log('working');
}
getRandomJokes(){
return this.http.get('https://api.chucknorris.io/jokes/random')
.map(res => res.json());
}
}
【问题讨论】:
-
首先你需要在 loadMore 函数中调用你的 api 一旦你得到结果然后你需要使用 this.jokes = _.union(this.jokes, apiResult) ;希望对你有帮助
-
不太确定您期望此代码会发生什么。你的
this.jokes.push()没有参数,所以你什么也不推。你能补充一点细节吗? -
没有更简单的方法吗?你能写出完整的函数吗?
-
loadMore() { this.RandomService.getRandomJokes().subscribe(jokes => {this.jokes = _.union(this.jokes, apiResult) ; }); } 你可以这样使用
标签: javascript angular