我试图在Angular 4上使用管道进行排序。管道和ngFor没有问题。
<div *ngFor="let item of data | paginate: { itemsPerPage: 8, currentPage: p } | orderBy : ['{{config}}'] " class="col-lg-3 col-md-6 col-sm-6">
<blog-thumb [date]="item.date" [commentCount]="item.commentCount"> </blog-thumb>
</div>
如上所述,我自己开发了2个管道。使用该语法有错误。如果我改为这个,没有问题
这是我的组件类。
export class MainBlogPageComponent implements OnInit {
public sortOrder: string = "asc";
public config: string = "-commentCount";
private data: any;
private blogPosts: string;
constructor() {
}
ngOnInit() { }
}
同样在我导入的所有模块CommonModule
上,以及在App.Module.ts导入的BrowserModule
这是在Chrome浏览器上看到的例外情况。
Can't bind to '*ngFor' since it isn't a known property of 'div'. ("
</div>
</div>
<div [ERROR ->]*ngFor="let item of data | paginate: { itemsPerPage: 8, currentPage: p } | orderBy : ['{{config}}'] "): ng:///MainBlogModule/MainBlogPageComponent.html@37:13
Error: Template parse errors:
Can't bind to '*ngFor' since it isn't a known property of 'div'. ("
</div>
</div>
<div [ERROR ->]*ngFor="let item of data | paginate: { itemsPerPage: 8, currentPage: p } | orderBy : ['{{config}}'] "):
它不像模板解析错误这样的其他异常。我没有弄到问题所在。
这是MainBlogPageComponent
导入的模块。
@NgModule({
imports: [CommonModule,
FormsModule,
NgaModule,
routing,
NgxPaginationModule
],
exports: [],
declarations: [MainBlogComponent,
MainBlogPageComponent,
SubHeaderComponent,
BlogThumbComponent],
providers: [],
})
export class MainBlogModule { }
管道在我的共享模块上,我的所有管道都存在于共享模块和共享模块中。我使用了另一个没有问题的模块。
答案 0 :(得分:2)
我想我应该
orderBy : [config]
这样,在OrderBy
管道中,您将获得["-commentCount"]
参数