Параметр не передается в layout-macro-def - PullRequest
0 голосов
/ 24 июня 2019

Кажется, что параметр не передается в layout-macro-def, и я не могу понять, почему.

Я прочитал документацию по макетам / макетам макетов.

В моем макете у меня есть что-то вроде этого:

result-view {
  match:  dailyDeals (this) {
    from-property: inventory (inventory) // the param to pass
  }
  message {
    template  ("Wow!") {
      speech ("#{value(this)}")
    }
  }
  render {
    layout {
      section {
      ....
      value ("#{value(inventory.item)}" // e.g., a vbox text value
      ....
      layout-macro (myMacro) {param (inventory)}
      }
    }
  }
}

И у меня есть макет макета, подобный этому:

layout-macro-def (myMacro) {
  params {
    param (inventory) {
      type (inventory)
      max (Many) 

    }
  }
  content {
    ....
    value ("#{value(inventory.item)}" // e.g., a vbox text value
    .....
   }
}

Я могу получить доступ к inventory значениям из макета просто отлично (например, inventory.item.) Однако, кажется, что инвентарь не проходит (или пуст?), Когда он попадает в макрос, потому что inventory.item не будет отображаться в макете от myMacro.

Чего мне не хватает?

1 Ответ

2 голосов
/ 25 июня 2019

Я думаю, вам нужно добавить ключ выражения к параметру. Попробуйте это:

 render {
    layout {
      section {
      ....
      value ("#{value(inventory.item)}" // e.g., a vbox text value
      ....
      layout-macro (myMacro) {param (inventory) {expression (inventory)} }
      }
    }
  }
...