javascript - WinJS自定义控件: winControl undefined

标签 javascript windows winjs

我创建了一个自定义 WinJS 控件。

<div id="hub" class="fullScreen" data-win-control="WinJS.UI.Hub">
  <div data-win-control="WinJS.UI.HubSection">
    <div id="weather-today" data-win-control="RTBF.UI.WeatherView">
    </div>
  </div>
</div>

当我进入同一 PageControl 的“ready”方法时,winControl 属性未定义。另一方面,“集线器”具有有效的 winControl 属性。我还看到在就绪方法之后调用了控件的构造函数。这怎么可能?

最佳答案

使用 data-win-control 不会自动设置 winControl 属性。 HTML 属性只是告诉 WinJS.UI.process[All] 构造函数的名称,其他所有事情都由构造函数来完成。

所有 WinJS 控件都遵循的模式(您可以在其 ui.js 文件中看到)如下所示,假设 element 是根 div:

element.winControl = this;
this.element = element;

还建议您通过实现 dispose 方法、设置 this._dispose = false 并添加“win-disposable”CSS 类来使控件成为“一次性”控件。 (或使用 WinJS.UI.markDisposable。)

有关所有详细信息,请参阅我的免费电子书《使用 HTML、CSS 和 JavaScript 编写 Windows 应用商店应用程序》第二版 ( http://aka.ms/BrockschmidtBook2 ) 的第 5 章,名为“自定义控件”的最后一节。

关于javascript - WinJS自定义控件: winControl undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23367077/

相关文章:

javascript - jquery 中的 2 个连续 .load 调用会执行异步吗?

javascript - SpagoBI:使用查询数据集结果的脚本数据集

c++ - 独立于平台的图形用户界面

c# - 我怎样才能得到可用的带宽率?

javascript - 使用 vue-router 的谷歌收件箱式导航

javascript - Jquery 在最后一个子按键上附加输入

java - 用于打开 Java 应用程序并插入文本的脚本

c# - 如何防止 JavaScript 中的循环导致浏览器或应用程序崩溃?

javascript - 如何从 WinJS iframe Windows 8 应用程序形成 POST 到 Paypal?

javascript - 如何将 PivotItems 动态绑定(bind)到 html 页面