2017-08-21 123 views
1

我在使用angular-material2时遇到了一个问题,我试图使用输入。但是,没有任何我尝试过的工作。角材料2 md-输入容器不能正常工作

我得到这个问题:

'MD-输入容器' 不是一个已知的元素

Console issue

HTML:

<md-input-container> 
<input mdInput placeholder="Favorite food" value="Sushi"> 
</md-input-container> 

我将其导入我的component.ts,在我app.ts

import { MdInputModule } from '@angular/material'; 

,我宣布它在我的@NgModule '进口' 在app.ts

我的材料的版本是@角/材料@ 2.0.0-beta.8

感谢您的帮助。

编辑:我发现我将它导入app.module.ts,它导入了另一个需要放置声明的模块。我的代码有点混乱,我需要清除它。对不起,我的朋友。案件结案。

+0

您在哪个组件中使用'md-input-container'? – yurzui

+0

在哪里声明了这个组件? – yurzui

回答

0
import { MdInputModule } from '@angular/material'; 

而在imports: [ MdInputModule ]@NgModuleapp.ts

+2

-1。对不起downvote,但不应该使用'MaterialModule'。它自[** beta3 **](https://github.com/angular/material2/blob/master/CHANGELOG.md#200-beta3-cesium-cephalopod-2017-04-07)以来已被弃用,它可能会一旦[**此PR **](https://github.com/angular/material2/pull/6581)被合并,就会在下一个版本('beta9')中完全删除。 – developer033

+0

'MaterialModule'已被弃用,因为Beta 3 ... – developer033

+0

@ developer003,是的,我意识到这一点,我应该早些指定'MdInputModule' – Faisal

-1

进口原料模块添加MdInputModule到您的应用程序访问材料的核心指令

​​
+0

与我的回答有什么不同? – Faisal

+2

不要这样做。它已被弃用,它很快就会被移除。 – developer033

+0

至于费萨尔的回答,不要这样做。这个模块已被弃用,并且有2个月的使用警告。 – Mozgor

1

你应该把MdInputModule在app.module进口.TS。 而且您还应该导入您使用的Material元素的每个单独模块

+0

'@ angular/material''的import {MdInputModule}位于我的** user-form.component.ts **中,我使用** user-form.component.html **中的HTML。然后,它也在** app.module.ts **和MdInputModule中声明为@NgModule的_import_,就像我为之前需要的每个模块所做的那样。 –

0

通过仅导入所用组件的模块,您所做的方式是正确的。如果仅使用一个或两个组件,整个导入整个MaterialModule是过度的。 你需要确保这是什么(从Getting Started guide, step 3):

无论接近你使用时,一定要导入角材料后角的BrowserModule 模块,作为进口秩序事项 NgModules。

+0

除了“过度杀伤”之外,整个'MaterialModule'即将消失。导入你需要的模块,就是这样。 – Mozgor