2017-07-18 5 views
0

私はメニューバーと4つのセクションを持つTVMLアプリを持っています。ホームページ(メニューバーの最初)は、リモートのTVMLから作成され、リモートJSONファイルがデータ用に用意されています。 JSONファイルとTVMLファイルがロードされたら、Mustacheを使ってテンプレートをレンダリングします。ユーザーが別のページに移動してメニューを使用してホームページに戻るたびに、最新のTVMLとJSONをロードして表示する必要があります。しかし、これは決して起こりません。いずれのリモートファイルに変更を加えても、ホームページは同じままです。私のデバッグから、リモートファイルが実際に読み込まれてレンダリングされることがわかります。そのため、最新のテンプレートとデータを取得できます。しかし、それが画面上にこれを表示することになると、以下のページを更新しません:TVMLアプリにホームページをリロードする

presentMenuBarItem(doc, menuItem) { 
     var feature = menuItem.parentNode.getFeature("MenuBarDocument"); 
     if (feature) { 
      var currentDoc = feature.getDocument(menuItem); 

      if (!currentDoc) { 
       feature.setDocument(doc, menuItem); 
      } 
     } 
    } 

私は、この関数に渡されたドキュメントが更新されたバージョンであることをデバッグを通じて確認しました。しかし、毎回古いものが表示されます。

私がアプリをリロードすると、私は新しいバージョンが得られますが、シミュレータでのみ取得されます。実際のApple TVでは、再起動しても古いデータが残っています。

また、スタックをクリアしてメニューやホーム画面を再読み込みして再開しても動作させようとしましたが、シミュレータ上で動作しても、Apple TVではなく、テンプレートと古い画像が表示されます。

App.onResume = function(options) { 
    navigationDocument.clear(); 
    pushLoadingDoc(); 
    resourceLoader.getNavigation(); 
} 

どうすれば更新された画面を表示できますか?私たちのホームページのtvmlとjsonファイルは絶えず更新されており、最新のものが必要です。

ありがとうございます。

答えて

0

あなただけそうのようにページ全体を更新することができます。私の場合は

refreshMainPageWith(newDoc) { 
 
    const oldMain = navigationDocument.documents[0]; 
 
    navigationDocument.replaceDocument(newDoc, oldMain); 
 
}

+0

を、文書[0]メニューテンプレートです。これを新しい文書に置き換えると、メニューは消えてしまいます。 – cesarcarlos

関連する問題