当前位置: 首页 > 知识库问答 >
问题:

使用ngModel的Angular 2双向绑定不起作用

戎元忠
2023-03-14

无法绑定到“ngModel”,因为它不是“input”元素的know属性,并且没有与相应属性匹配的指令

注意:我使用alpha。31

import { Component, View, bootstrap } from 'angular2/angular2'

@Component({
    selector: 'data-bind'
})
@View({
    template:`
        <input id="name" type="text" 
            [ng-model]="name" 
            (ng-model)="name = $event" />
        {{ name }}
    ` 
})
class DataBinding { 
    name: string;

    constructor(){
        this.name = 'Jose';
    }
}

bootstrap(DataBinding);

共有3个答案

祁修平
2023-03-14

在我的例子中,我的输入元素缺少一个“name”属性。

充昌勋
2023-03-14

要点:

>

  • angular2中的ngModel只有在FormsModul作为AppModul的一部分可用时才有效。

    ng模型语法错误。

    所以,要修正你的错误。

    步骤1:导入FormsModule

    import {FormsModule} from '@angular/forms'
    

    步骤2:将其添加到AppModule的imports数组中

    imports :[ ... , FormsModule ]
    

    步骤3:更改ng-Model为ngModel,香蕉盒为

     <input id="name" type="text" [(ngModel)]="name" />
    

    注意:此外,您还可以单独处理双向数据绑定,如下所示

    <input id="name" type="text" [ngModel]="name" (ngModelChange)="valueChange($event)"/>
    
    valueChange(value){
    
    }
    

  • 吕向阳
    2023-03-14

    Angular于9月15日发布了最终版本。与Angular 1不同,您可以在Angular 2中使用ngModel指令进行双向数据绑定,但您需要以稍微不同的方式编写它,如[(ngModel)](香蕉盒子语法)。几乎所有angular2核心指令都不支持kebab案例,现在您应该使用camelCase

    现在ngModel指令属于FormsModule,这就是为什么你应该导入FormsModule@角/形式模块里面的导入元数据选项的AppModule(NgModule)...此后,您可以在页面上使用ngModel指令。

    应用程序/应用程序。组成部分ts

    import { Component } from '@angular/core';
    
    @Component({
      selector: 'my-app',
      template: `<h1>My First Angular 2 App</h1>
        <input type="text" [(ngModel)]="myModel"/>
        {{myModel}}
      `
    })
    export class AppComponent { 
      myModel: any;
    }
    

    App/app.module.ts

    import { NgModule }      from '@angular/core';
    import { BrowserModule } from '@angular/platform-browser';
    import { FormsModule } from '@angular/forms';
    import { AppComponent }   from './app.component';
    
    @NgModule({
      imports:      [ BrowserModule, FormsModule ], //< added FormsModule here
      declarations: [ AppComponent ],
      bootstrap:    [ AppComponent ]
    })
    
    export class AppModule { }
    

    app/main。ts

    import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
    import { AppModule } from './app.module';
    
    const platform = platformBrowserDynamic();
    platform.bootstrapModule(AppModule);
    

    演示弹

     类似资料:
    • 我正在尝试测试Angular 2中的双向绑定功能。我还阅读了一些其他答案,但我仍然无法通过测试。 更新输入字段时,我想运行一个测试,以确保 AppComponent 类上的 searchQuery 属性与输入字段的值相同。 如前所述,我已经阅读了其他一些答案,并且随着我的学习,还包括了其他代码段。那么目前可能不需要的是什么? 成分 单元测试 如果有更好的方法,我当然很乐意得到任何反馈。

    • 我正在用Eclipse Juno、WindowBuilder在Java7 SE上开发我的第一个JDialog,“摆动自动数据库”()。我很想测试自动数据绑定 我只在Eclipse数据绑定GUI的帮助下为类用户提供了一个编辑对话框。 “我的对话框”将打开,其中的文本字段包含来自用户实例的正确初始值。当我修改文本字段文本,然后单击Ok按钮时,我看不到对用户实例的任何更改。这是我的对话代码。。。。。 绑

    • 我正在创建一个Angular2项目,但复选框的双向绑定有问题。 我有一个名为listItem和List的类: 我正在从Azure search调用列表,该列表工作正常。问题是当我只是将值设置为复选框时。 但该值在单击时也始终为false。我试图使用[(ngModel)],但也不起作用。我还尝试创建一个函数: 但我收到了这个错误: 无法分配给对象“[object]”的只读属性“checked” 为什

    • 本文向大家介绍Angular2实现自定义双向绑定属性,包括了Angular2实现自定义双向绑定属性的使用技巧和注意事项,需要的朋友参考一下 整理文档,搜刮出一个Angular 2实现自定义 双向绑定 属性的代码,稍微整理精简一下做下分享。 使用时,就可以通过[(username)]=“你的当前属性” 进行双向绑定了。属性名 + 后缀 Change是一个约定的固定写法。 以上就是本文的全部内容,希望

    • Mpx针对表单组件提供了wx:model双向绑定指令,类似于v-model,该指令是一个语法糖指令,监听了组件抛出的输入事件并对绑定的数据进行更新,默认情况下会监听表单组件的input事件,并将event.detail.value中的数据更新到组件的value属性上。 简单实用示例如下: <view> <input type="text" wx:model="{{message}}"> <

    • 双向绑定这个概念在angular出现的时候,就作为王牌概念. 现在几乎是个js前端框架,就有这个功能. 它的概念是: 某个变量, 如果展现在页面上的话: 如果在代码层面进行修改, 那么页面的值就会发生变化 如果在页面进行修改(例如在input标签中), 那么代码的值就会发生变化. 一个演示例子. 在我们的项目中,增加一个 vue页面: src/components/TwoWayBinding.vu