2017-05-07 9 views
0

パイプで並べ替えようとしています。パイプとngForに問題はありません。同様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パイプがあります。その構文にはエラーがあります。私はこれを変更した場合は、何の問題

はありませんそして、これは私のコンポーネントクラスです。すべての私のモジュールがCommonModule輸入にも

export class MainBlogPageComponent implements OnInit { 

    public sortOrder: string = "asc"; 
    public config: string = "-commentCount"; 

    private data: any; 
    private blogPosts: string; 
    constructor() {  
    } 
    ngOnInit() { } 
} 

、またBrowserModule App.Module.tsで輸入だけでなく

これは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/[email protected]: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

あなたは 'MainBlogPageComponent'が定義されているNgModule'構成@'追加することができます取得します。この方法

orderBy : [config] 

されるべきだと思いますか? – yurzui

+0

が更新されました。ありがとうございました。 –

+0

'ngFor'からパイプを削除してみてください – yurzui

答えて

2

私は私があなたのOrderByパイプにあなたが["-commentCount"]パラメータ

+0

それはちょうどいいですが、私はそれを取得しません。 「{{}}」をバインドするのに使用しないでください。私はangular.ioのチュートリアルを見ました –

+1

補間は '[]'と一緒に使うべきではありません。 '' ngFor'は '[ngForOf]' '[...]'の構文糖で、その値を式として解釈します。 – yurzui

関連する問題