2016-08-12 58 views
0

我在plunker中有一个Angular 2 Inline Editing组件。但突然间我得到了上述错误。这是怎么回事?Angular 2 - 由于它不是'input'的已知属性,因此无法绑定到'ngModel'

Plunker代码:http://plnkr.co/edit/3AODo6YGEhvPOKzloofz?p=preview

父组件:

<inline-edit [editEnable]="edit" [(ngModel)]="editableText" (onSave)="saveEditable($event)"></inline-edit> 

儿童组件:

<div id="inlineEditWrapper" (click)="edit(value)" class="iedit"> 
    <!-- Editable value --> 
    <a [hidden]="editing">{{ value }}&nbsp;<i class="glyphicon glyphicon-pencil" data-hidden="editing"></i></a> 

    <!--<span class="glyphicon glyphicon-pencil" [hidden]="editing"></span>--> 

    <!-- inline edit form --> 
    <form #inlineEditForm="ngForm" class="inlineEditForm form-inline" (ngSubmit)="onSubmit(value)" [hidden]="!editing"> 
     <div class="form-group"> 

      <!-- inline edit control --> 
      <input style="margin-bottom:10px;" #inlineEditControl class="form-control" [(ngModel)]="value"/> 

      <!-- inline edit save and cancel buttons --> 
      <br/> 
      <span > 
       <button type="submit" class="btn btn-primary">Change</button> 
       <button class="btn btn-default" (click)="cancel(value)">Cancel</button> 
      </span> 

     </div> 
    </form> 
</div> 
+0

你使用了什么angular2版本? – janmvtrinidad

+0

Angular 2 RC4版本。 – Varun

回答

2

可以遵循一些步骤:

步骤1:负载包角形式

'@angular/forms': { 
     main: 'bundles/forms.umd.js', 
     defaultExtension: 'js' 
} 

步骤2:导入disableDeprecatedForms,provideForms

import {disableDeprecatedForms, provideForms} from '@angular/forms'; 

bootstrap(App, [ 
    disableDeprecatedForms() 
    provideForms() 
]).catch(err => console.error(err)); 

步骤3:导入ControlValueAccessor,NG_VALUE_ACCESSOR从 “@角/形式” 在直列edit.component.ts

步骤4:调整

<input style="margin-bottom:10px;" #inlineEditControl class="form-control" name="first_name" #first_name="ngModel" [(ngModel)]="value"/> 

这在here

为我工作:形式输入元素
相关问题