0

这是我的代码:

{template .someTemplate}
    {@param? icon : string} /** CSS class that loads and styles the icon */
    {@param? headlineHtml : any} /** Headline text with optional html for styling */
    {@param? textHtml : any} /** Subtext with optional html for styling */
    {@param? buttonText : string} /** The call to action text for the button */
    {@param? rejectButtonText : string} /** The text for choosing to reject the call to action */

....

当我尝试编译时,我收到一条错误消息:

Exception in thread "main" com.google.template.soy.base.SoySyntaxException: In file ./myfile.soy:7, template com.namespace.someTemplate: Not all code is in Soy V2 syntax (found tag {@param? icon : string} not in Soy V2 syntax).`

我在网上找到的唯一信息似乎表明这是正确的语法(根据谷歌的网站,根据我找到的这份备忘单),谷歌搜索“soy v2”并没有给我任何解释什么是正确的结果 Soy V2 语法。

定义这些参数的正确方法是什么?

4

1 回答 1

0

看起来这是语法:

{namespace test}

/**
 * This is a template.
 * @param name The name to say hello to
 */
{template .main}
Hello {$name}
{/template}

我也很难找到任何文件。我得到了同样的错误,说{@param ...}语法在 V2 中无效。然后我发现 soynode 的例子(比如这个)使用了注释语法。有趣的是,这种新语法似乎根本不包括类型定义,只是一个 var 名称。

于 2019-10-02T16:26:12.507 回答