我正在使用table plugin和pagination plugin。我的目标是从分页组件中检测当前页码并将其添加到表组件中。怎么可能?已经尝试过:
import { PaginationComponent } from '../+pagination/pagination.component';
@Component({
...
providers: [PaginationComponent]
})
public currPage: number;
public constructor(private pagin: PaginationComponent) {
this.currPage = this.pagin.page;
}
哪个有效,但没有检测到任何变化。我必须更改什么才能检测到更改?
答案 0 :(得分:1)
当您使用它时:
<pagination (pageChanged)="pageChanged()"></pagination>
在上面使用的类中:
export class SomethingThatUsesPagination{
pageChanged($event){
this.pageService.onChanged$.emit($event);
}
}
并创建一个服务并将其注入两个组件
@Injectable()
export class PageService{
public onChanged$ = new EventEmitter();
}
然后在需要了解分页内容的其他组件内部:
export class OtherComponent{
constructpr(public pageService: PageService){
pageService.onChanged$.subscribe(($event) => {
console.log('$event',$event);
});
}
}
这是两个组件正在通过服务进行通信。