У меня есть приложение TVML со строкой меню и 4 разделами. Домашняя страница (первая в строке меню) создается из удаленного TVML с удаленным файлом JSON для данных. После загрузки файла JSON и файлов TVML я использую Mustache для рендеринга шаблона. Каждый раз, когда пользователь переходит на другую страницу, а затем использует меню для возврата на домашнюю страницу, мы хотим, чтобы последние версии TVML и JSON загружались и отображались. Однако этого никогда не происходит. Домашняя страница остается неизменной независимо от того, какие изменения я вношу в любой удаленный файл. Из моей отладки я вижу, что удаленные файлы действительно загружаются и отображаются, поэтому мне удается получить последний шаблон и данные. Однако, когда дело доходит до отображения этого на экране, следующее не обновляет страницу:
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 нашей домашней страницы постоянно обновляются, и нам нужно, чтобы последние отображались для наших пользователей.
Спасибо.