Как показать панель приложений WinJS при загрузке фрагмента страницы?
Я хотел бы показать AppBar, когда фрагмент страницы загружается, но этот код, выполняющийся в функции ready, не работает должным образом:
function ready(element, options) {
var appBar = document.getElementById("appBar").winControl;
appBar.disabled = false;
appBar.show();
}
Как показать панель приложений при загрузке фрагмента страницы?
3 ответа
Предполагая, что вы правильно создаете панель приложения в файле HTML.
Затем в ready
метод, вы должны сначала вызвать
WinJS.UI.processAll(elements)
.then(function () {
var appbar = document.getElementById("appBar");
if (appbar) {
appbar.winControl.show();
}
});
Согласно документации MSDN, processAll
функция "применяет декларативную привязку управления ко всем элементам, начиная с указанного корневого элемента." (т.е. превращение всех элементов HTML в элементы управления WinJS)
Если вы получили нулевую ошибку, вызовите WinJS.UI.processAll() в вашем коде инициализации.
WinJS.UI.processAll();
appBar.winControl.show();
HTML
<div id="appBar" data-win-control="WinJS.UI.AppBar" data-win-options="{placement:'bottom'}">
Я пробовал следующий кусок кода:
document.getElementById("appBar").winControl.show()
И все работает как положено (панель приложения отображается при загрузке страницы).
Так же, как и в примере с msdn: Пример панели приложения
Кажется, у вас есть другая проблема (недопустимые элементы управления на панели приложения или что-то еще).
Не могли бы вы предоставить более подробную информацию или даже пример приложения?