2016-10-22 13 views
0

私はこれに新しく、私はチュートリアルに従っています。私のコードは働いているチュートリアルのビデオとはまったく同じですが、私のコードはありません。私は「名前 『約束』を見つけることができませんエラーになっていると私は、その理由を把握することはできません。誰もが、私はこのエラーを取得しています理由のアイデアを持っていますか?名前が見つかりませんPromise Angular2

import {Control} from 'angular2/common' 

export class UsernameValidators{ 
static shouldBeUnique(control: Control){ 

return new Promise ((resolve) => { 

setTimeout(function(){ 
    if(control.value == "andy") 
    resolve({shouldBeUnique: true}) 
else 
resolve(null); 
}, 1000); 

}); 

} 
    static cannotContainSpace(control: Control){ 
if (control.value.indexOf(' ') >=0) 
return {cannotContainSpace: true}; 
return null; 

    } 
} 
+0

tsconfigでES6をターゲットに設定していますか? – NPhillips

答えて

0

あなたはベータ版を使用しているように見えますAngular2のバージョン以下の答えはあなたが使用している前提としています。

あなたが角度2.0.0以降を使用して提供される
"@angular/common": "2.0.0", 
    "@angular/compiler": "2.0.0", 
    "@angular/core": "2.0.0", 
    "@angular/forms": "2.0.0", 
    "@angular/http": "2.0.0", 
    "@angular/platform-browser": "2.0.0", 

を、次の操作を行うことができます

import { FormControl } from "@angular/forms"; 
import { Promise } from "./path/to/node_modules/es6-promise"; 

export class UsernameValidators { 
    static shouldBeUnique(control: FormControl) { 

     return new Promise((resolve) => { 

      setTimeout(function() { 
       if (control.value === "andy") 
        resolve({ shouldBeUnique: true }); 
       else 
        resolve(null); 
      }, 1000); 

     }); 

    } 
    static cannotContainSpace(control: FormControl) { 
     if (control.value.indexOf(" ") >= 0) 
      return { cannotContainSpace: true }; 
     return null; 

    } 
} 
+0

私はあなたがベータ版について正しいと思います。それはそれを説明するでしょう。入力いただきありがとうございます。 – user6680

0

あなたが経験している場合、名前を見つけることができません'約束する'、ほとんどあなたがhavベースセットアップで一部のファイルが変更されたか、ノードパッケージのインストールが正常に完了しなかった可能性があります。 Angular2はもうtypingsパッケージを使用しません。

ソリューション:

  • クローン次のリポジトリ・プロジェクトディレクトリにhttps://github.com/angular/quickstart
  • 実行npm install、それが今でクローン化された新しいフォルダ にアプリのプロジェクトフォルダをコピーと設定今成功し
  • を終えることを確認してくださいこれは完全に機能します。
関連する問題