0

Angular2 に基づく Ionic2 を使い始めて、現在、ベース タブ コンポーネントを拡張して追加の入力を追加しようとしています。ポイントは、モデルのリストを属性別にタブにソートすることです。私のクラスは次のとおりです。

import {Component, Directive, Host, ElementRef, Compiler, DynamicComponentLoader, AppViewManager, NgZone, Renderer} from 'angular2/angular2';
import {IonicApp, Config, Keyboard, NavController, ViewController, Tabs, Tab} from 'ionic/ionic';

@Component({
    selector: 'list-tab',
    inputs: [
        'root',
        'tabTitle',
        'tabIcon'
    ],
    host: {
        '[class.show-tab]': 'isSelected',
        '[attr.id]': '_panelId',
        '[attr.aria-labelledby]': '_btnId',
        'role': 'tabpanel'
    },
    template: '<template #contents></template>'
})
export class ListTab extends Tab {
    constructor(
        @Host() parentTabs: Tabs,
        app: IonicApp,
        config: Config,
        keyboard: Keyboard,
        elementRef: ElementRef,
        compiler: Compiler,
        loader: DynamicComponentLoader,
        viewManager: AppViewManager,
        zone: NgZone,
        renderer: Renderer
    ) {
        super(parentTabs, app, config, keyboard, elementRef, compiler, loader, viewManager, zone, renderer);
    }
}

次に、通常のタブとして使用してみます:

<ion-tabs>
    <list-tab *ng-for="#tab of tabs" tab-title="{{tab.title}}" tab-icon="{{tab.icon}}" [root]="tab.component"></list-tab>
</ion-tabs>

ただし、次のエラーが表示されます。

Error: Cannot resolve all parameters for ListTab(Tabs @Host() @Host(), IonicApp, Config, ?, ElementRef, Compiler, DynamicComponentLoader, AppViewManager, NgZone, Renderer). Make sure they all have valid type or annotations.
    at NoAnnotationError.BaseException [as constructor] (http://localhost:8100/build/js/app.bundle.js:26209:24)
    at new NoAnnotationError (http://localhost:8100/build/js/app.bundle.js:27069:17)
    at _extractToken (http://localhost:8100/build/js/app.bundle.js:26183:16)
    at http://localhost:8100/build/js/app.bundle.js:26135:46
    at Array.map (native)
    at Array.map (http://localhost:8100/build/js/app.bundle.js:1158:15)
    at _dependenciesFor (http://localhost:8100/build/js/app.bundle.js:26135:20)
    at resolveFactory (http://localhost:8100/build/js/app.bundle.js:26015:25)
    at Object.resolveProvider (http://localhost:8100/build/js/app.bundle.js:26039:67)
    at Function.DirectiveProvider.createFromProvider (http://localhost:8100/build/js/app.bundle.js:36482:30)

キーボードが注釈であることを認識していないように見えるため、キーボードを正しくインポートするさまざまな方法を試しましたが、エラーを修正するものは何もないようです。これはアルファ版なので当然のフレームワークのバグですか、それとも私が何か間違ったことをしているのですか?

ありがとう

4

1 に答える 1