作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在将一些数据附加到模板之前修改一些数据。
假设我有以下内容:
@Component({
selector: 'app-contact',
templateUrl: './contact.component.html',
styleUrls: ['./contact.component.css'],
template: `
<section>
<article *ngFor="let item of items | async">
{{ item | json }}
</article>
</section>
`,
})
export class ContactComponent {
items: FirebaseListObservable<any[]>;
constructor(db: AngularFireDatabase) {
this.items = db.list('items');
}
}
如何在将每个项目附加到模板之前对其进行处理。
在 Java 中,这将类似于:
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot d) {
//here
ref.child(d.key).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//then update template from here.
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
最佳答案
您的数据是可观察的并且异步呈现。
要修改它,您可以使用管道:
<article *ngFor="let item of items | async | myCustomPipe"><article>
我的自定义管道:
export class MyCustomPipe implements PipeTransform {
transform(items: any[], args?: any): any {
//do your modifications here
return items;
}
}
<小时/>
或者订阅可观察对象并自己执行异步部分:
public items: any[];
constructor(db: AngularFireDatabase) {
db.list('items').subscribe(items => this.items = this.modifyItems(items));
}
private modifyItems(items: any[]){
//do your modifications here
return items;
}
关于java - Angular 火 : How to perform some operations on data before updating template,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45383853/
我是一名优秀的程序员,十分优秀!