node.js - 带有选择选项的 Jade 条件

标签 node.js pug

如何将option (of select) 设置为selected 以匹配页面的当前语言?有没有办法将它内联并简化成这样:

(value="en"#{Locale}==='en' ?',selected="selected"': '')

我在这个网站上尝试了一些答案,但它们似乎不起作用。谢谢。

这是 View :

 if(#{Locale} ==='en')
     option(value="en", selected="selected") #{English}
     option(value="bg") #{Bulgarian}
  else if(#{Locale} === 'bg')
     option(value="en") #{English}
     option(value="bg",selected="selected") #{Bulgarian}

最佳答案

改编自this answer ,您可以创建一个混合程序来为您处理逻辑:

mixin lang-option(code, name)
  if (Locale === code)
    option(value=code, selected="selected")= name
  else
    option(value=code)= name

+lang-option('en', English)
+lang-option('bg', Bulgarian)

关于node.js - 带有选择选项的 Jade 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24855212/

相关文章:

javascript - 动态循环 Pug 变量

node.js - Mixin 声明没有主体

Node.JS:在进程退出时执行多个回调

javascript - NodeJS : Searching for specific string with fs. readFile() 多个文件

node.js - Amazon Cognito 确认密码失败并显示 (TypeError : Converting circular structure to JSON)

node.js - express + Jade : local variable not available in view

javascript - For 循环在 Jade 中的 Node.js 中声明的变量在 Javascript 中不起作用

javascript - Mongoose 或 Query 不返回任何内容

ssl - Cloud Foundry 上的 HTTPS Node 应用程序

javascript - 使用 Pug (Jade) 和 JavaScript 的动态表单