ngFor上的模板错误以及使用带参数的管道

时间:2017-05-07 13:15:46

标签: angular angular2-directives angular2-pipe

我试图在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 { }

管道在我的共享模块上,我的所有管道都存在于共享模块和共享模块中。我使用了另一个没有问题的模块。

1 个答案:

答案 0 :(得分:2)

我想我应该

orderBy : [config]

这样,在OrderBy管道中,您将获得["-commentCount"]参数