简体   繁体   English

将变量从控制器中的渲染数组传递给树枝中的 javascript

[英]Passing variable from render array in Controller to javascript in twig

I want to pass $reservationData to the twig template so I can use it in javascript.我想将 $reservationData 传递给树枝模板,以便我可以在 javascript 中使用它。

Here is my Controller:这是我的控制器:

class MovieReservation extends ControllerBase{
  public function page(){
    return [
      '#reservation' => $reservationData,
    ];
  }

I need it in javascript functions so I can populate it with the informations I want.我在 javascript 函数中需要它,这样我就可以用我想要的信息填充它。

How can I do that?我怎样才能做到这一点? Thanks in advance提前致谢

You have to pass data into drupalSettings object :您必须将数据传递给 drupalSettings 对象:

  class MovieReservation extends ControllerBase{
      public function page(){
        return [
          '#reservation' => $reservationData,// it's for twig template
           '#attached' => [
            'drupalSettings' => [
              'reservation' => $reservationData, // it's for javascript file
            ]
           ]
        ];
      }

And into your javascript file :并进入您的 javascript 文件:

drupalSettings.reservation

Note : You can add javascript file via libraries.yml file注意:您可以通过libraries.yml 文件添加javascript 文件

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM