Javascript 在MatchMedia JS函数中执行细枝语句?

Javascript 在MatchMedia JS函数中执行细枝语句?,javascript,twig,media-queries,matchmedia,Javascript,Twig,Media Queries,Matchmedia,是否可以在Javascript MatchMedia查询中执行Twig“include”语句 我试图通过在平板电脑断点处呈现不同的菜单类型来回避另一个问题 我知道JS无法与服务器通信,但是否可以以这种方式执行twig命令 {%include'snippets/navbar.rain'和{'type':'Desktop'}%} } else { // window width is less than 992px {%include'snippets/n

是否可以在Javascript MatchMedia查询中执行Twig“include”语句

我试图通过在平板电脑断点处呈现不同的菜单类型来回避另一个问题

我知道JS无法与服务器通信,但是否可以以这种方式执行twig命令


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

         } else {

         // window width is less than 992px
{%include'snippets/navbar.rain'和{'type':'Tablet'}%}

         }

       }


我在网上的任何地方都找不到正确的语法,甚至找不到这是否是一个可行的解决方案的例子。谢谢,twig是一种在服务器上执行的模板语言。因此答案是否定的。
include
语句将在呈现html时在服务器上运行。创建DOM后,js将在浏览器中运行。

谢谢,尽管我认为可能有解决办法,但我还是很怀疑。这个答案部分不正确。如果OP将他的javascript直接放在一个细枝模板中,它就可以工作(只要
navbar.rain
生成正确的javascript),那么不可能使响应匹配媒体查询的js回调与服务器上的细枝模板的呈现交互(而JS和match媒体的内容发生在客户端上)。OP可以做什么,取决于这些模板呈现的内容,如果是纯html,则将它们存储到某个隐藏的div中,然后根据媒体查询显示它们(那么css可能就足够了)。如果其中有JS,可能会更难,但这不是最初的问题。这正是OP正在做的。他不依赖实际的javascript变量来创建输出。navbar.rain和type
table
都将包含在源代码中。是的,这两种类型都是正确的将包含在一个Twig navbar片段中,因此它们都以任何方式加载到页面上。最终使用了您的解决方案adz5a,尽管希望避免两次呈现两个菜单。当然,这也可以通过简单的CSS实现
         }

       }