Angular2材质md按钮错误

Bar*_*uch 5 javascript angularjs typescript angular-material2 angular

我之前看到Angular2推出了RC5,所以我决定更新我的一个测试应用程序以查看更改以及如何调整.这个应用程序正在使用Material2,我也将它更新为Alpha 7.2,但我在尝试使用md-button组件时遇到此错误

"模板解析错误:无法绑定到'md-ripple-trigger',因为它不是'div'的已知属性.("*ngIf ="isRippleEnabled()"class ="md-button-ripple"[ class.md-button-ripple-round] ="isRoundButton()"[错误 - >] [md-ripple-trigger] ="getHostElement()"[md-ripple-color] ="isRoundButton()?'rgba( 255,255,255,0.2)"):MdButton @ 0:180无法绑定到'md-ripple-color',因为它不是'div'的已知属性.("ton-ripple"[class.md-button-ripple-round] ="isRoundButton()"[md-ripple-trigger] ="getHostElement()"[ERROR - >] [md-ripple-color] =" isRoundButton()?'rgba(255,255,255,0.2)':''"md-ripple-background-color ="rgb"):MdButton @ 0:219"

我正在尝试添加一个名为的新组件上使用它nav-bar,这里是添加了Material的Angular CLI创建的文件

TypeScript文件

import { Component, OnInit } from '@angular/core';
import { MdToolbar } from '@angular2-material/toolbar';
import { MdButton } from '@angular2-material/button';
import { MdIcon, MdIconRegistry } from '@angular2-material/icon';

@Component({
  moduleId: module.id,
  selector: 'nav-bar',
  templateUrl: 'nav-bar.component.html',
  styleUrls: ['nav-bar.component.css'],
  directives: [ 
    MdToolbar, 
    MdButton,
    MdIcon 
  ],
  providers: [ 
    MdIconRegistry 
  ]
})

export class NavBarComponent implements OnInit {

  constructor() {}

  ngOnInit() {
  }

}
Run Code Online (Sandbox Code Playgroud)

HTML文件

<md-toolbar>
  <button md-button>
    <md-icon>menu</md-icon>
  </button>
  NavBar
</md-toolbar>
Run Code Online (Sandbox Code Playgroud)

yur*_*zui 9

尝试导入MdRippleModule您的AppModule:

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent }  from './app.component';
import { HttpModule} from '@angular/http';
import { MdRippleModule } from '@angular2-material/core/core'; <== this line

@NgModule({
  imports:      [ BrowserModule, HttpModule, MdRippleModule ], <== add here
  declarations: [ AppComponent ],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)

或者MdRipple在组件中传递指令:

...
import { MdRipple } from '@angular2-material/core/core'; <== this line
@Component({
  moduleId: module.id,
  selector: 'nav-bar',
  templateUrl: 'nav-bar.component.html',
  styleUrls: ['nav-bar.component.css'],
  directives: [ 
    MdToolbar, 
    MdButton,
    MdIcon,
    MdRipple <== add here
  ],
  providers: [ 
    MdIconRegistry 
  ]
})
export class NavBarComponent implements OnInit {
...
Run Code Online (Sandbox Code Playgroud)