在这一点上我的头靠在墙上。我在使用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