2
我想創建一個自定義佔位符控件。下面是代碼摘錄:綁定資源數據到自定義winjs控件
(function() {
var Placeholder = WinJS.Class.define(function ctor(elem, options) {
this.element = elem || document.createElement('div');
this.element.winControl = this;
WinJS.UI.setOptions(this, options);
this.init();
},
{
element: {
get: function() {
return this._element;
},
set: function (value) {
this._element = value;
}
},
placeholder: {
get: function() {
return this._placeholder;
},
set: function (value) {
this._placeholder = value;
this._placeholderElement.textContent = value;
}
},
placeholderClass: {
get: function() {
return this._placeholderClass;
},
set: function (value) {
this._placeholderClass = value;
this._placeholderElement.classList.add(value);
}
},
_placeholderElement: null,
init: function() {
this._addPlaceholder();
},
_addPlaceholder: function() {
/* Code to add placeholder. */
}
});
WinJS.Namespace.define("ControlX", { Placeholder: Placeholder });
})();
我想以這種方式來使用此控件的HTML:
<div data-win-control="ControlX.Placeholder" data-win-res="{winControl:{placeholder:'resHeight'}}"><input type="text"/></div>
當我使用data-win-res
屬性設置佔位符值,我得到一個異常:
「無法設置的未定義或空引用屬性 '佔位符'」
根據這篇文章: How to localize WinJS controls我們也可以將資源字符串綁定到winControl屬性。
我在做什麼錯?
是否有任何其他方式綁定資源字符串到winControl屬性?
您是否在頁面控制中進行控制?如果是這樣,你是否在PageControls的ready函數中調用了WinJS.Resources.processAll(element)?我似乎能夠得到這個工作,但我不能說出我們兩個努力之間可能會有什麼不同。 – 2013-02-19 02:15:31