同じ問題があったdiscussionに続いて、エラーメッセージ「タイプ」を持たずに、複数のモジュールでangular2-materializeのディレクティブをインポートできませんでしたXは2つのモジュールの宣言の一部です "他のNgModuleのNgModuleの共有ディレクティブを読み込めません
私は、与えられた解決策に従うことに決めました:angular2-materializeをそれ自身のモジュールに入れて、私のAppModuleと私のChildrenModuleにモジュールをインポートします。
だから私のMaterializeModule:
import { NgModule } from '@angular/core';
// Import Materialize CSS + Directives, like indicated in the readme
// https://github.com/InfomediaLtd/angular2-materialize
import 'materialize-css';
import 'angular2-materialize';
import { MaterializeDirective } from 'angular2-materialize';
@NgModule({
declarations: [ MaterializeDirective ]
})
export class MaterializeModule {
}
マイAppModule:
import { MaterializeModule } from './shared/materialize.module';
@NgModule({
bootstrap: [ AppComponent ],
declarations: [
AppComponent,
HeaderComponent,
FooterComponent,
NoContentComponent
],
imports: [ // import Angular's modules
BrowserModule,
FormsModule,
HttpModule,
MaterializeModule,
RouterModule.forRoot(ROUTES, { useHash: false })
],
providers: [ // expose our Services and Providers into Angular's dependency injection
ENV_PROVIDERS,
APP_PROVIDERS
]
})
export class AppModule {}
そして、私のChildrenModule:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
// Import shared modules
import { MaterializeModule } from '../shared/materialize.module';
// Import child routes
import { detailsRouting } from './details.routing';
// Import app modules
import { DetailsComponent} from './details.component';
@NgModule({
imports: [
BrowserModule,
MaterializeModule,
detailsRouting
],
declarations: [
DetailsComponent
]
})
export class ChildrenModule { } //
そして、両方のモジュールでは、私は単にMDのモーダルでテンプレートを入れ、終了する:
<a materialize="leanModal" [materializeParams]="[{dismissible: false}]" class="waves-effect waves-light btn modal-trigger blue" href="#missionAccept">
<i class="material-icons left">check</i>Accepter
</a>
私はそれは間違いなく私の問題を解決するだろうと思ったが、ありません。
私が持っている:
can't bind to 'materializeParams' since it isn't a known property of 'a'
それはMaterializeDirectiveを輸入したことがないように。
今月からこの問題が発生していますが、どこから来たのでしょうか?私の問題を解決し
編集
:
を私MaterializeModuleで、ディレクティブをエクスポートすることを決して忘れない:ここ
@NgModule({
...
exports: [ MaterializeDirective ]
})
こんにちは、MaterializeDirectiveを内部に公開して、他のモジュールで使用できるように、そのモジュールをインポートするために、MaterializeDirectiveを公開してください。違いは、NgModuleでexport []プロパティを使用することです。このプロパティを見るのは初めてです。それは仕事を得るためにプロパティを使用する必要がありますか? – DlafCreative
エクスポートしないと、他のモジュールでは利用できません。 –
それは、共有モジュールをそれを含むモジュールのexport []プロパティに追加する必要がありました。 Thx a lot :) – DlafCreative