2017-08-16 25 views
1

私はREST APIを使用して、Polymer 2.0.2プロジェクトでオブジェクトの配列を取得しています。応答は次のようなものです:新しいJSONオブジェクトをポリマーの配列に追加します

[ 
    {"name":"John","city":"Mumbai"}, 
    {"name":"Ron","city":"New York"}, 
    {"name":"Harry","city":"Lisbon"} 
] 

応答を受信した場合、私は次のように私の財産はcontentの名前設定:

_contentAjaxResponseHandler(event) {   
    this.set('content', event.detail.response);  
} 

これは限りREST APIが一度呼び出されるように動作します。 これで、ユーザーがページの一番下にスクロールして既存のデータに追加するときに、次のバッチをフェッチします。

私の質問は、既存のcontentアレイに新しい結果を追加する最良の方法は何ですか?つまり、ポリマーに2つのアレイをマージする最良の方法は何ですか?今まで

、私は考えることができる唯一の方法は、新しい結果をループにあり、このようpush method.Somethingを呼び出します。

_contentAjaxResponseHandler(event) { 
    let newResponse = event.detail.response; 
    newResponse.forEach(function(newObj){ 
     this.push('content',newObj); 
    }); 
} 
+0

'iron-scroller'のような機能を実装しようとしていますか? https://www.webcomponents.org/element/PolymerElements/iron-scroll-threshold – Ofisora

+0

こんにちは、お返事ありがとうございます。私はこのコンポーネントを試しました。このコンポーネントは壊れていて動作していません。 Github Pageの未解決の問題は、特にこれです:https://github.com/PolymerElements/iron-scroll-threshold/issues/23。このコンポーネントは動作していなかったので、自分のスクロールハンドラを作成し始めました –

+0

'concat'関数を使ってみましたか? – Ofisora

答えて

1

次のコードは、私の仕事:

_contentAjaxResponseHandler(event) { 
    let newResponse = event.detail.response; 
    this.set('content',this.content.concat(newResponse)); 
} 
関連する問題