0

是否可以从 Javascript MatchMedia 查询中执行 Twig 'include' 语句?

我试图通过简单地在我们的平板电脑断点处呈现不同的菜单类型来解决另一个问题。

我知道 JS 无法与服务器对话,但有可能以这种方式执行 twig 命令吗?


         if (matchMedia) {
         const mq = window.matchMedia("(min-width: 992px)");

         mq.addListener(WidthChange);
         WidthChange(mq);
         }

         // media query change
         function WidthChange(mq) {
         if (mq.matches) {
         // window width is greater than 992px 

{% include 'snippets/navbar.rain' 和 {'type': 'Desktop'} %}

         } else {

         // window width is less than 992px

{% include 'snippets/navbar.rain' 和 {'type': 'Tablet'} %}

         }

       }


我在网上的任何地方都找不到正确的语法,甚至找不到这是否真的是一个可能的解决方案的例子。谢谢

4

1 回答 1

1

twig 是一种在服务器上执行的模板语言。所以答案是否定的。该include语句将在呈现 html 时在服务器上运行。创建 DOM 后,js 将在浏览器中运行。

于 2019-06-04T19:11:17.003 回答