2017-09-29 12 views
1

タイトルが言うように、私はこの呼び出しが何を返すのか理解しています。 、これは私が欲しいもので、すべての私のember-enginesのリストこの時点で exampleEmber.getOwner(this)).lookup( 'application:main')の使用方法

fetchEngines() 
    { 
     let object = Ember.getOwner(this).lookup('application:main').engines; 
     console.log(object); 
    } 

そして、それは私にそのような何かを返す:
は、これは私がそれを使用しています方法です。
しかし、私はそれを使用する方法がわかりません。その意味では、どのように各エンジンの名前を取得するのですか、今のところobjectは何ですか、私はそれについて何も見つけることができません。

私はforEach()メソッドを試しましたが、それは私に返します:object.forEach is not a function。私もObject.keysメソッドを試しましたが、それは私には何も分かりません。
お疲れ様でして、読んでいただきありがとうございます。

+0

私はそれがエンバーの空のオブジェクトであると思います:

これは修正版です。古いコードの場合は[こちらをご覧ください](https://github.com/emberjs/ember.js/blob/v2.7.0/packages/ember-metal/lib/empty_object.js)。 – ykaragol

答えて

1

私はこれに答えます。これは非常に簡単で、私は間違いを犯しました。 Object.keysメソッドが動作するので、私はそれをうまく書き込む方法を知らなかった。

fetchEngines() 
    { 
     let object = Ember.getOwner(this).lookup('application:main').engines; 
     // This will properly show every key in your object 
     console.log(Object.keys(object)); 
     // And if you want to enumerate it 
     let filledArray = []; 
     for (let key in object) { 
      if (object.hasOwnProperty(key)) 
       filledArray.push(key); 
     } 
     // The object filledArray is now a perfectly manipulable object 
    } 
関連する問題