我有以下代码正常工作。 现在我需要添加其他属性和功能并导出它们, 怎么建议这样做? 假设我有两个函数和两个需要导出的其他属性。
属性如 已验证 PROP1
$mysqldate = date("Y-m-d H:i:s", strtotime($cc_expire));
答案 0 :(得分:3)
在对象上定义setter和getter方法的标准方法是在Object.defineProperty
模块中使用internal
方法。通过导出internal
模块,您也会导出setter
和getter
方法。
Object.defineProperty(Internal.prototype, "isAvailable", {
get : function(){
return this.available;
},
set : function(value){
this.available = value;
}
});
或在ES6中,您可以编写相同的内容:
get isAvailable() {
return this.available;
}
set isAvailable(value) {
this.available = value;
}
使用Internal.prototype
,您将使用setter和getter方法扩展基础对象原型。
答案 1 :(得分:0)
这是一种简单直接的方式。如果我误解了,请纠正我。 这将为需要此文件的每个人公开getter和setter。 除非你想在发生变化时发出变化,否则这可能不是答案。
var available = false;
module.exports = {
getAvailable: getAvailable,
setAvailable: setAvailable
}
function getAvailable() { return available;}
function setAvailable(avail) { available = avail;}
答案 2 :(得分:0)
使用以下代码,是否可以解决您的问题?
var exports = module.exports = {};
var internal = require("../plu/internal");
exports.isAvailable = false;
internal.eventEmitter.on('AppA', function () {
exports.isAvailable = true;
});
exports.myTestFunc = function () {
return "Hello Test";
}
exports.testProperty = true;