【发布时间】:2020-09-18 08:46:01
【问题描述】:
希望你没事。
我有一个博客组件,它通过 http 请求从数据库获取帖子。
所以,我正在尝试的是,当帖子在我的组件中时,我想用函数过滤它们。
我在订阅方法中获取帖子后调用此函数,但它不起作用。
过滤帖子的功能:
filtrarArticles(tipus)
{
var articles = document.getElementsByClassName("article") as HTMLCollectionOf<HTMLElement>;
for (var i = 0; i < articles.length; i++)
{
var tipusArticle = this.articles[i].categoria;
if (tipus == tipusArticle)
{
articles[i].style.display = "";
}
else
{
articles[i].style.display = "none";
}
}
}
过滤我的函数的 HTML 代码:
<div class="articles row w-100 align-self-end d-flex justify-content-center">
<div class="article col-xl-3 mb-md-0 mb-3" *ngFor="let article of articles; index as i" (click)="obrirModalArticle(article)">
<img class="imatgeAllargada d-block w-100" src="https://drive.google.com/uc?id={{article.img}}">
<br>
<h4>{{article.title_article}}</h4>
<p [innerHTML]="article.descripcio1"></p>
</div>
</div>
articles 数组有一个属性,名称为“categoria”,它是过滤它的关键。
我在这里调用过滤函数:
this.articleService.obtenirArticles(this.idioma).subscribe(
res=>
{
this.articles = res;
this.filtrarArticles('generals');
},
error =>
{
alert("No s'han pogut obtenir els articles, intenta-ho més tard.");
});
this.translate.onLangChange.subscribe((event: LangChangeEvent) =>
{
this.idioma = event.lang;
this.articleService.obtenirArticles(this.idioma).subscribe(
res=>
{
this.articles = res;
},
error =>
{
alert("No s'han pogut obtenir els articles, intenta-ho més tard.");
}
)
});
此代码在 init 方法上。而且我不知道为什么不起作用?
【问题讨论】:
标签: javascript angular typescript