代码之家  ›  专栏  ›  技术社区  ›  overexchange

双向数据绑定-ngModel

  •  1
  • overexchange  · 技术社区  · 7 年前

    在下面的angular2分量中,

    export class HomeComponent implements OnInit {
      homeTitle = "Welcome to the home page";
      myString = "I like red";
      myBoolean = false;
    
      alertMe(val){
        alert(val);
      }
    
      obj = {
        name: "Yoshi",
        belt: "Black"
      };
    
      constructor() { }
    
      ngOnInit() {
      }
    
    }
    

    双向数据绑定不适用于以下视图,

    <p>
      {{homeTitle}}
    </p>
    
    <!--  Property binding -->
    
    <!-- input value="Hai" -->
    <input [value]="myString">
    <input [required]="myBoolean">
    
    <button (click)="alertMe('I like x')">Click me</button>
    
    <hr>
    <!-- All above elements are working fine -->
    
    <!-- 2 way data binding -->
    <input [(ngModel)]="obj.name">
    <p>{{obj.name}}</p>
    <p>{{obj.belt}}</p>
    

    为什么? obj.name 不在输入元素中渲染?

    2 回复  |  直到 7 年前
        1
  •  2
  •   Mohamed Ali RACHID    7 年前

    在您的模块中,只需添加 FormsModule

    import { FormsModule } from '@angular/forms';
    imports: [
      ..
      FormsModule
    ]
    
        2
  •  0
  •   Luca Taccagni    7 年前

    对不起,我现在看到了。。您必须指定 name="myModelName" 输入中:

    喜欢 <input name="myModelName" [(ngModel)]="obj.name">