在這一點上我的頭靠在牆上。我在使用SystemJS和角度材質運行角度2應用程序時遇到錯誤,無法找出原因。我正在使用角度種子項目:https://github.com/mgechev/angular-seed。我通過這個指導原則添加了材料:https://github.com/mgechev/angular-seed/wiki/Integration-with-AngularMaterial2。未知的元素 - 角2與角2物質
錯誤:
Unhandled Promise rejection: Template parse errors: 'md-toolbar' is not a known element:
home.component.html
<md-toolbar>Test</md-toolbar>
SystemJS配置
this.NPM_DEPENDENCIES = [ ...this.NPM_DEPENDENCIES, {src: '@angular/material/core/theming/prebuilt/indigo-pink.css', inject: true} // {src: 'jquery/dist/jquery.min.js', inject: 'libs'}, // {src: 'lodash/lodash.min.js', inject: 'libs'}, ]; this.addPackageBundles({ name:'@angular/material', path:'node_modules/@angular/material/bundles/material.umd.js', packageMeta:{ main: 'index.js', defaultExtension: 'js' } });
注意,它似乎與開發工具
APP模塊
...
import { MaterialModule } from '@angular/material';
@NgModule({
imports: [BrowserModule, HttpModule, MaterialModule.forRoot(), AppRoutingModule, AboutModule, HomeModule, SharedModule.forRoot()],
...
包檢查源時,文件被加載在瀏覽器中。 json
"dependencies": {
"@angular/common": "~2.4.0",
"@angular/compiler": "~2.4.0",
"@angular/core": "~2.4.0",
"@angular/forms": "~2.4.0",
"@angular/http": "~2.4.0",
"@angular/material": "^2.0.0-beta.2",
"@angular/platform-browser": "~2.4.0",
"@angular/platform-browser-dynamic": "~2.4.0",
"@angular/router": "~3.4.1",
"core-js": "^2.4.1",
"intl": "^1.2.5",
"rxjs": "~5.0.3",
"systemjs": "0.19.41",
"zone.js": "^0.7.4"
}
...
首頁組件
import { Component, OnInit } from '@angular/core';
import { NameListService } from '../shared/name-list/name-list.service';
/**
* This class represents the lazy loaded HomeComponent.
*/
@Component({
moduleId: module.id,
selector: 'sd-home',
templateUrl: 'home.component.html',
styleUrls: ['home.component.css'],
})
export class HomeComponent implements OnInit {
...
Q - 我怎樣才能解決這個未知元素問題?謝謝!
在'package.json'裏面檢查你的材質版本。 –
只導入'MaterialModule'而不是'MaterialModule.forRoot()'並檢查。 – micronyks
@Kinduser - 爲你添加了package.json。 – karns