我正试图做一个简单的事手。
(说明,我不想试图实施完全模糊的出版/登记模式;我只想为什么我的例子不像我认为应该那样工作)
var myObj = (function () {
var private = "X";
function triggerEvent(eventName) {
if (this[eventName]) {
this[eventName]();
}
}
// Setter / Getter
function getProp() {
return private;
}
function setProp(value) {
private = value;
triggerEvent("onPropChange");
}
// Public API
return {
// Events
"onPropChange": null, // Fires when prop value is changed
// Methods
"getProp": getProp,
"setProp": setProp
};
})();
// Now set event handler
myObj.onPropChange = function () {
alert("You changed the property!");
};
myObj.setProp("Z"); // --> Nothing happens. Wrong
// Why doesn t my alert show?
我把我的物体的<代码>onPropChange财产设定为更简单的手稿功能,但并未发射。 我已对此做了改动,似乎在<条码>上。
谁能解释我的想法中的错误,我如何纠正? 帮助非常受赞赏。