2017-05-26 9 views
-1

以下のコードを使用して、現在コンソールにログインしているキーと値のペアを取得しています。しかし、私はこのデータをセッションストレージに保存できるようにしたいと考えています。セッションのキー値を角2で保存する

Object.keys(response).forEach(function (key) { 
    console.log(key,response[key]); 
}); 

この例では、Githubを試してみました。以下のコードでは、ダミーデータを1つだけ挿入しようとするとうまくいきます。

ngOnInit():void 
{ 
    this._propLoadService.getPropertyMap().subscribe(response=> { 
    this.loadPropValue=response; 
    this._storage.store('key','value'); 
    }); 
} 

が、私はJSONレスポンスから各キーと値のペアを格納するために以下のコードのように拡張forループを使用していたとき、私はエラーを取得しています。私は取得しています

ngOnInit():void 
{ 
    this._propLoadService.getPropertyMap().subscribe(response=> { 
    this.loadPropValue=response; 
    Object.keys(response).forEach(function (key) { 
     this._storage.store(key,response[key]); 
    }); 
    }); 
} 

エラーが

ERROR TypeError: Cannot read property '_storage' of undefined 
at /main.bundle.js:449:21 
at Array.forEach (native) 
at SafeSubscriber._next (/main.bundle.js:448:35) 
at SafeSubscriber.__tryOrUnsub 
(/vendor.bundle.js:16394:16) 
at SafeSubscriber.next (/vendor.bundle.js:16343:22) 
at Subscriber._next (/vendor.bundle.js:16283:26) 
at Subscriber.next (/vendor.bundle.js:16247:18) 
at CatchSubscriber.Subscriber._next 
(/vendor.bundle.js:16283:26) 
at CatchSubscriber.Subscriber.next 
(/vendor.bundle.js:16247:18) 
    at MapSubscriber._next (/vendor.bundle.js:29484:26) 
    defaultErrorLogger @ core.es5.js:1084.. 

は、誰が何をすべきかのように指摘して私を助けることができるです。

答えて

0

あなたは私がthisthis._storage変数への参照であるか、それは匿名関数のローカル変数を指している場合ときに」かはわからない.forEach((key) => {...}

Object.keys(response).forEach((key) => { 
    this._storage.store(key,response[key]); 
}); 

のような脂肪アロー機能を使用してみました再使用.forEach(function(key) {...}

+0

こんにちはコビー、これは私のために働いた。どうもありがとう。 – Lkyashu

+0

問題はありません。それが解決策として私の答えをマークするなら、それはあなたを助けた場合は素晴らしいだろう:) –

関連する問題