我正在尝试通过将某些部分作为外部js文件进行整理来整理我的js代码,但这会给我带来混杂的结果。
在我的JS脚本中,我有一个var(选项),我也尝试了不带var的变量(用作全局范围变量)
var options = {
onSave: function () {
fbEditor.toggle();
formContainer.toggle();
$('form', formContainer).formRender({formData: fb.formData});
},
dataType: 'json',
disabledAttrs: ["description", "access", "className"],
disableHTMLLabels: true
};
我正在使用
扩展该变量Object.assign(options, {
formData: somestuff;
});
我也想包含很多数据,为此我正在使用另一个JS文件,
$.getScript("assets/js/pages/createform.js", function () {
makeForms();
});
这是该内容的摘要
function makeForms() {
console.log("Script loaded");
Object.assign(options, {
inputSets: [
{
label: 'Leads',
fields: [
{
"type": "header",
"subtype": "h1",
"label": "Buyer Form"
},
{
"type": "text",
"label": "In what City are you looking to buy your new property?",
"subtype": "text",
"maxlength": "128"
}
]
}
]
});
};
它显示脚本已被加载,但无法正常工作。当我隔离
Object.assign(options, {
inputSets: [
{
...
}
]
});
并将其添加到与getScript位置相同的原始JS中,它可以按预期工作。
在包含文件中调用Object.assign时不起作用吗?
编辑: 我现在正在使用一些肮脏的技巧,其中我只使用对我有用的PHP包含函数。但是,我很想知道正确的方法。
这不起作用:
...
$.getScript("assets/js/pages/createform.min.js", function () {
});
...
这确实有效:
...
<?php include "assets/js/pages/createform.min.js"; ?>
...