2016-10-31 13 views
1

私はangular2dartを学び、anguar2dart siteからチュートリアルに従います。'ngModel'にはバインドできません。これは既知のネイティブプロパティまたは既知のディレクティブではないため、

Build error: 
Transform TemplateCompiler on Sample|lib/app_component.ng_meta.json threw error: Template parse errors: 
Can't bind to 'ngModel' since it isn't a known native property or known directive. Please fix typo or add to directives list. (" 
     <div> 
     <label>name: </label> 
     <input [ERROR ->][(ngModel)]="hero.name" placeholder="name"> 
     </div>"): [email protected]:15 

私が間違っているの何を:私はこれをコンパイル

import 'package:angular2/core.dart'; 

class Hero { 
    final int id; 
    String name; 
    Hero(this.id, this.name); 
} 

@Component(
    selector: 'my-app', 
    template: ''' 
     <h1>{{title}}</h1> 
     <h2>{{hero.name}} details!</h2> 
     <div><label>id: </label>{{hero.id}}</div> 
     <div> 
     <label>name: </label> 
     <input [(ngModel)]="hero.name" placeholder="name"> 
     </div>''' 
) 
class AppComponent { 
    String title = 'Tour of Heroes'; 
    Hero hero = new Hero(1, 'Windstorm'); 
} 

が、それは私にエラーメッセージが表示されます。

は、コードを以下の点を考慮しますか?

+1

を、あなたは「角度/フォーム@」から 'インポート{FormsModule}を追加する必要があります「module.ts」がある;'ダートで似たような存在でなければなりません。それ以外の場合は、コンポーネントの上に追加すると機能します。 –

答えて

4

あなたのpubspec.yamlファイルに共通ディレクティブ用のトランスがないようです。

チェックhttps://github.com/angular-examples/toh-1/blob/master/pubspec.yamlそれは、角セクション、次の変圧器が含まれています:角度4、platform_directivesのよう

transformers: 
- angular2: 
    platform_directives: 
    - 'package:angular2/common.dart#COMMON_DIRECTIVES' 
    platform_pipes: 
    - 'package:angular2/common.dart#COMMON_PIPES' 
    entry_points: web/main.dart 
1

がなくなっています。

NgModelは今やフォームディレクティブです。次のように、フォームのディレクティブを含めることができます。活字体で

import 'package:angular_forms/angular_forms.dart' as forms; 

@Component(
    selector: 'my-app', 
    directives: const[forms.formDirectives], 
) 
class AppComponent { 
} 
関連する問題