我试图从模块中获取私有财产,但我总是得到它的初始值而不是最新的.
当表单被提交并且onSuccess被调用时,我设置partnerId = 10.
之后,我有一个获取合作伙伴ID的点击事件,并获得-1
var SearchForm = (function ($) {
"use strict";
// Private variables
// Private functions
var onSuccess = function () {
PartnerDetail.setPartnerId(10);
};
// Public functions
return {
onSuccess: onSuccess,
};
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
var PartnerDetail = (function ($) {
"use strict";
var _partnerId = -1;
var getPartnerId = function () {
return _partnerId;
};
var setPartnerId = function (id) {
_partnerId = id;
}
// Public functions
return {
getPartnerId: getPartnerId,
setPartnerId: setPartnerId
};
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
var SearchAll = (function ($) {
"use strict";
// Private variables
// Private functions
var init = function () {
$("#partner").on("click", function () {
var p = PartnerDetail.getPartnerId();
console.log(p); ==> -1
}
};
// Public functions
return {
init: init
};
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
// Load when ready
$(document).ready(function () {
SearchAll.init();
});
Run Code Online (Sandbox Code Playgroud)
你的代码看起来没问题:
我已将以下代码放入jsFiddle中,它记录了 10:
HTML:
<button id="partner">CLICK!</button>
Run Code Online (Sandbox Code Playgroud)
JS:
var PartnerDetail = (function () {
var _partnerId = -1;
var getPartnerId = function () {
return _partnerId;
};
var load = function (id) {
_partnerId = id;
}
// Public functions
return {
getPartnerId: getPartnerId,
load: load
};
})();
// File search.js
var SearchForm = (function ($) {
"use strict";
// Private variables
// Private functions
var onSuccess = function () {
PartnerDetail.load(10);
};
// Public functions
return {
onSuccess: onSuccess,
};
})(jQuery);
var SearchAll = (function ($) {
"use strict";
// Private variables
// Private functions
var init = function () {
$("#partner").on("click", function () {
var p = PartnerDetail.getPartnerId();
console.log(p);
});
};
// Public functions
return {
init: init
};
})(jQuery);
// Load when ready
$(document).ready(function () {
SearchAll.init();
SearchForm.onSuccess();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
254 次 |
| 最近记录: |