我从官方网站学习Angular 4,我通过ngModel学习了双向数据绑定部分。但是,只要我将[(ngModel)]添加到组件模板中,我的应用程序就会停止工作,即使FormsModule已导入模块中。ts文件。组件未加载
我正在使用Visual Studio代码<这是我的应用程序。组成部分ts
import { Component } from '@angular/core';
export class Hero {
id: number;
name: string;
}
@Component({
selector: 'app',
template: `
<h1>{{ title }}</h1>
<h2>{{hero.name}} details!</h2>
<div><label>Id:</label> {{hero.id}} </div>
<div>name:<input [(ngModel)]="hero.name" type="text"></div>
`,
styles:[`
.selected{
transition: padding 0.3s;
color: mediumseagreen;
}
`]
})
export class AppComponent {
title = 'Tour Of Heroes';
hero:Hero = {
id:1,
name:"Mr. Invisible"
};
}
这是一个应用程序。单元ts
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent, Hero } from './app.component';
@NgModule({
declarations: [
AppComponent,
FormsModule
],
imports: [
BrowserModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
AppComponent没有加载,只是显示
加载。。。
除了模块声明的imports
部分所需的FormsModule
之外,您还必须使用form
标记或ngForm
指令来启用ngModel
功能。
如果没有,您也可以使用独立控件来使用ngModel
,如下所示:
<input [(ngModel)]="variable" #ctrl="ngModel" >
资料来源:角度文件
正如其他人指出的,导入表单模块
(例如,在app.module.ts
文件中)非常重要在这个具体问题中,它在导入部分缺失。
但是我添加这个答案是为了警告你一些其他的事情,我不时会遇到这些事情。
如果您只是单独使用ngModel
,而没有在某个地方使用表单,则不必为输入指定name
。
<input ... [(ngModel)]="model.something"`>
但是当您在表单中使用它时,name
属性将成为必需的!
<form>
<input ... name="something" [(ngModel)]="model.something"`>
</form>
它实际上在文档中:
在标记中使用ngModel时,还需要提供name属性,以便控件可以在父窗体中以该名称注册。
如果你错过了它,它将不会显示任何错误,它只是不会工作。
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent, Hero } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule // forms module should be in imports not in declarations
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
我需要在我的Jhipster应用程序(4.8.2)的多个站点中共享一个组件,我已经将我的组件添加到文件:: 看起来一切都很顺利,但是那个组件内的NgModel指令已经停止工作了。 如果它是value,我不带指令它读起来很好,问题是当我在带有NgModel指令的“input”中使用它时 有人能帮我解决这个问题吗? 谢谢.
在ngFor循环中使用ngModel有一个问题。我在做电子商务应用程序,我想用数量来获得输入的价值,但每个ngModel都有相同的名称,所以它一直更新所有的输入,像这样:Img和下面是我的页面代码:
问题内容: 我已经安装了Jquery和Jquery-ui 这些文件位于node_modules目录中。我有一个声明Jquery的组件 我的jquery函数工作正常,但jquery-ui函数却不能。 因此,显然我对jquery-ui的包含是不正确的。我尝试在我的.angular-cli.json页面中包含许多不同的内容,但均未成功。 我在.angular-cli文件中尝试过的事情: 我尝试直接导入到
Dockerized Angular 4 App (with Angular CLI) Build docker image $ docker build -t myapp . Run the container $ docker run -d -p 8080:80 myapp The app will be available at http://localhost:8080 You can e
我试图让ESLint让我使用对象的Rest/传播。尽管我尽了最大努力,我还是得到了这个错误: 当我悬停在椭圆上时(<代码>...)用红色弯弯曲曲。 我的看起来像这样: 我确信prefs正在被阅读,因为规则、插件和样式指南正在按预期工作。 要启用对象rest/spread,是这里的关键(哈哈),它似乎对其他人有用。然而,它拒绝为我工作。我不知所措 更新:我使用的是Visual Studio代码v1.
问题内容: 我有以下ckEditor指令。在下面的示例中,我看到了两个有关如何在编辑器中设置数据的示例的两种变体: 有人可以告诉我有什么区别: 而我应该使用。我看了一下角度文档,上面写着: 我不知道作者在文档中写这个是什么意思:-( 问题答案: 您正在寻找正确的文档,但可能只是您有些困惑。该和有一个明显的区别。就是这个: 如前所述: 视图中的实际字符串 (或对象) 值。 模型中控件绑定到的值。 我