我创建了一个自定义的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。这怎么可能?
答案 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;