0

我有一个看起来像的大豆模板

{template .fullView}
  {@param people: list<[age:int, name:string]>}
  {call .headers}
    {param people: $queries /}
  {/call}
  {call .content}
    {param people: $queries /}
  {/call}
{/template}

{template .headers}
  {@param people: list<[age:int, name:string]>}
  # headers
{/template}

{template .content}
  {@param queries: list<[age:int, name:string]>}
  # content
{/template}

由于“人”的记录定义变得比年龄和姓名更复杂,因此更新所有三个地方的参数定义变得乏味。是否可以创建一个别名或可以在每个模板中重用的东西?

{alias [age:int, name:string] as Person}
{template .headers}
  {@param people: list<Person>}
  # headers
{/template}
4

1 回答 1

1

为什么不定义一个原型Person呢?文档似乎还建议在记录上使用 protos :

在许多情况下,定义协议缓冲区优于使用记录,因为它不那么冗长。

所以你可以定义这样的消息吗?

// syntax: proto3
message Person {
    int32 age = 1;
    string name = 2;
    // more fields here 
}
于 2020-04-19T23:49:05.450 回答