如果我从 JavaScript 调用模板:
namespace.template(record);
哪里record
是一个实例:
/** @typedef {{var: string}} */
我在高级模式下使用 Google Closure Compiler,它会重写var
,那么我如何var
在模板中接收?是使用'var'
而不是var
防止重写的唯一方法吗?
我在想,理想情况下,如果我可以为模板的@param
s 提供类型会很好,就像我可以为 JavaScript 代码一样,这应该让编译器知道要使用什么重写的名称......
看起来这不会发生在var
. 如果键被命名,它确实会发生default
,因为 SoyToJsSrcCompiler 生成代码使用'default'
(仅用于这个特殊名称,而不是我迄今为止使用的任何其他名称),从而防止 Closure Compiler 重命名它,但该属性在 JavaScript 代码中被重命名,因为我使用的是default
不带引号的。