Javascript 尝试使用不存在的 PUG 变量设置变量时出错
Javascript error when trying to set a variable with PUG variable that doesn't exists
我有相同的表单来添加和编辑项目。
我已经像这样从 PUG 向 JAVASCRIPT 传递了一个变量。
script.
var loadedItem = !{JSON.stringify(loadedItem)};
稍后我会付诸行动
if (loadedItem) {
$('select.algs').val(loadedItem.algs).trigger('change');
$('select.ings').val(loadedItem.ings).trigger('change');
$('select.spicy').val(loadedItem.spicy).trigger('change');
$('select.veg').val(loadedItem.veg).trigger('change');
$('select.cats').val(loadedItem.parent_id).trigger('change');
}
正如预期的那样,编辑时一切正常。
路由新记录时(不发送和 id 来加载项目),
我收到语法错误 Uncaught SyntaxError: Unexpected token ';'
javascript 看起来像 var loadedItem=;
,这很糟糕。
为什么会这样?提前Tnx.
这种情况甚至让我无法处理(不能使用 if
因为它只是 if ()
的语法错误)
您可以在此处使用 ternary operator 来检查值,否则输出 null(或空对象或内存中的其他对象):
script.
var loadedItem = !{ loadedItem ? JSON.stringify(loadedItem) : "null" };
我有相同的表单来添加和编辑项目。
我已经像这样从 PUG 向 JAVASCRIPT 传递了一个变量。
script.
var loadedItem = !{JSON.stringify(loadedItem)};
稍后我会付诸行动
if (loadedItem) {
$('select.algs').val(loadedItem.algs).trigger('change');
$('select.ings').val(loadedItem.ings).trigger('change');
$('select.spicy').val(loadedItem.spicy).trigger('change');
$('select.veg').val(loadedItem.veg).trigger('change');
$('select.cats').val(loadedItem.parent_id).trigger('change');
}
正如预期的那样,编辑时一切正常。
路由新记录时(不发送和 id 来加载项目),
我收到语法错误 Uncaught SyntaxError: Unexpected token ';'
javascript 看起来像 var loadedItem=;
,这很糟糕。
为什么会这样?提前Tnx.
这种情况甚至让我无法处理(不能使用 if
因为它只是 if ()
的语法错误)
您可以在此处使用 ternary operator 来检查值,否则输出 null(或空对象或内存中的其他对象):
script.
var loadedItem = !{ loadedItem ? JSON.stringify(loadedItem) : "null" };