在 Angular 2 应用程序中使用 Material Radio Buttons 的问题

use*_*290 7 angular-material angular-material2 angular

平台:Ubuntu 14.0.1 NPM 版本:4.6.1

我有一个 Angular 2 应用程序,我试图在其中使用 Material Radio Buttons。我已经使用以下命令安装了它们:

npm i @angular2-material/radio
Run Code Online (Sandbox Code Playgroud)

我在模块中添加了以下代码:

import { Component } from '@angular/core';
import { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';
import { Router } from '@angular/router';
import { MdRadioModule } from '@angular2-material/radio';
Run Code Online (Sandbox Code Playgroud)

以下是 .html 文件的内容(中断):

<md-radio-group>
          <md-radio-button value="1">Option 1</md-radio-button>
          <md-radio-button value="2">Option 2</md-radio-button>
        </md-radio-group>
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我在浏览器的控制台中出现以下错误并且我的应用程序在那里中断:

nhandled Promise rejection: Template parse errors:
'md-radio-group' is not a known element:
1. If 'md-radio-group' is an Angular component, then verify that it is part of this module.
2. If 'md-radio-group' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. (" <md-radio-button value="2">Option 2</md-radio-button>
        </md-radio-group>-->
        [ERROR ->]<md-radio-group></md-radio-group>
        <div class="page-card-separator">&nbsp;</div>
     "): AddProviderComponent@35:12 ; Zone: <root> ; Task: Promise.then ; Value: Error: Template parse errors:
'md-radio-group' is not a known element:
1. If 'md-radio-group' is an Angular component, then verify that it is part of this module.
2. If 'md-radio-group' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. (" <md-radio-button value="2">Option 2</md-radio-button>
        </md-radio-group>-->
        [ERROR ->]<md-radio-group></md-radio-group>
        <div class="page-card-separator">&nbsp;</div>
     "): AddProviderComponent@35:12
at TemplateParser.parse (compiler.umd.js:8502)
at RuntimeCompiler._compileTemplate (compiler.umd.js:16882)
at eval (compiler.umd.js:16805)
at Set.forEach (<anonymous>)
at compile (compiler.umd.js:16805)
at ZoneDelegate.invoke (zone.js?1505985812318:192)
at Zone.run (zone.js?1505985812318:85)
at zone.js?1505985812318:451
at ZoneDelegate.invokeTask (zone.js?1505985812318:225)
at Zone.runTask (zone.js?1505985812318:125) Error: Template parse errors:
Run Code Online (Sandbox Code Playgroud)

Fai*_*sal 5

请使用以下命令安装材料 2:

  • 在您的package.json, 更改/包含"@angular/material""@angular/cdk"版本"2.0.0-beta.10"
  • 在终端窗口中,导航到项目中所在的文件夹package.json
  • 运行命令 npm install

要导入MdRadioModule,请使用以下命令:

import { MdRadioModule } from '@angular/material';
Run Code Online (Sandbox Code Playgroud)

链接到工作演示


小智 5

首先安装@angular/material@angular/cdk,然后在app.module.ts文件中导入相关的包:

import { MatRadioModule } from '@angular/material';
Run Code Online (Sandbox Code Playgroud)