我开始使用Angular 2/Material Design项目,并在尝试使用<md-tab-group>
组件时遇到问题。我见过的一般结构的例子如下所示:使用材质<md-tab-group>内的Angular 2组件
<md-tab-group>
<md-tab label="Gallery">
//gallery content here
</md-tab>
<md-tab label="Settings">
//setting content here
</md-tab>
</md-tab-group>
不过,我想模块化每个选项卡的功能和它的内容到单独的角2层的组件是这样的:
应用。 component.html
<md-tab-group>
<app-gallery></app-gallery>
<app-settings></app-settings>
</md-tab-group>
我现在共有结构遵循基本角2成分约定,例如:
gallery.component.ts
import { Component, OnInit } from '@angular/core';
import {Http} from '@angular/http';
@Component({
selector: 'app-gallery',
templateUrl: './gallery.component.html',
styleUrls: ['./gallery.component.css']
})
export class GalleryComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
我然后使用<md-tab>
元素每个组件的模板中,像这样。
<md-tab label="gallery">
<p>Gallery here...</p>
</md-tab>
最后,我确定一切都已导入并正确声明。
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { MaterialModule } from '@angular/material';
import { AppComponent } from './core/app.component';
import 'hammerjs';
import { GalleryComponent } from './gallery/gallery.component';
@NgModule({
declarations: [
AppComponent,
GalleryComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
MaterialModule.forRoot()
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
这可能吗?目前我怀疑可能无法从<md-tab-group>
中提取<md-tab>
元素。对我来说,将所有选项卡及其内容包含在一个单独的html文件中似乎很麻烦,更不用说击败组件的目的了。如果有可能,我会很感激任何关于如何正确设置它的指导。提前致谢!
你会得到什么样的错误?另外我不能在'app.component.html'中看到为'app-settings'定义的选择器。 –
我刚刚使用了一个组件,''作为示例和简洁。 ''存在并且构造完全相同。对困惑感到抱歉。 –
mikeym