如何在页面片段加载时显示WinJS AppBar?

3

我希望在页面片段加载时显示AppBar,但是在ready函数中运行的此代码未能按预期工作:

function ready(element, options) {
    var appBar = document.getElementById("appBar").winControl;
    appBar.disabled = false;
    appBar.show();
}

当页面片段加载时,如何显示AppBar?
3个回答

7
假设您在HTML文件中正确创建了应用栏。
接下来,在ready方法中,您应该先调用。
WinJS.UI.processAll(elements)
        .then(function () {
              var appbar = document.getElementById("appBar");
              if (appbar) {
                  appbar.winControl.show();
              }
         });

根据MSDN文档 processAll 函数的作用是“从指定的根元素开始将声明性控件绑定应用于所有元素。”(即将所有html元素转换为WinJS控件)

0
我已经尝试了以下代码片段:
document.getElementById("appBar").winControl.show()

它按预期工作(应用栏在页面加载时显示)。

同样的方法也被用于MSDN示例: 应用栏示例

看起来你有另一个问题(应用栏上的无效控件或其他问题)。

你能否提供更多细节甚至是应用程序示例?


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'}">

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接