WinJS自定义控件:winControl undefined

时间:2014-04-29 14:07:40

标签: 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属性是未定义的。另一方面,“hub”具有正常运行的winControl属性。我还看到,在ready方法之后调用了我的控件的contstructor。这怎么可能?

1 个答案:

答案 0 :(得分:0)

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

所有WinJS控件遵循的模式,您可以在其中查看ui.js文件,如下所示,假设元素是根div:

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

它还建议您制作控件&#34;一次性&#34;通过实现dispose方法,设置this._disposed = false,并添加&#34; win-disposable&#34; CSS类。 (或使用WinJS.UI.markDisposable。)

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