我想在加载页面片段时显示AppBar,但是在ready函数中运行的代码没有按预期工作:
function ready(element, options) {
var appBar = document.getElementById("appBar").winControl;
appBar.disabled = false;
appBar.show();
}
如何在页面片段加载时显示AppBar?
答案 0 :(得分:7)
假设您正在HTML文件中正确创建appbar。
然后,在ready
方法中,您应该先调用
WinJS.UI.processAll(elements)
.then(function () {
var appbar = document.getElementById("appBar");
if (appbar) {
appbar.winControl.show();
}
});
根据MSDN documentation,processAll
函数“将声明性控制绑定应用于所有元素,从指定的根元素开始。” (即将所有html元素转换为WinJS控件)
答案 1 :(得分:0)
我尝试过以下代码:
document.getElementById("appBar").winControl.show()
它按预期工作(app栏显示在页面加载上)。
同样在msdn示例中使用的方法: App bar sample
您似乎还有另一个问题(应用栏或其他内容上的无效控件)。
您能提供更多详情甚至是应用示例吗?
答案 2 :(得分:0)
如果出现null错误,请在初始化代码中调用WinJS.UI.processAll()。
WinJS.UI.processAll();
appBar.winControl.show();
HTML
<div id="appBar" data-win-control="WinJS.UI.AppBar" data-win-options="{placement:'bottom'}">