【问题标题】:Jade conditional output different/conditional form attributes with same form bodyJade条件输出不同/条件表单属性相同的表单体
【发布时间】:2016-01-11 23:55:25
【问题描述】:

我在jade中对html的某些部分进行条件渲染有一个小问题,尽量不要重复代码。我有以下翡翠位

if(loggedIn && !search)
   form(action="/list/mine")
else if(search)
   form(action="/list/search", method="POST")
else
   form(action="/list/all")

   input(type="hidden" value=parseInt(next) name="skip" )
   input(type="submit" value="Next" class="pure-button pure-button-primary")

我想让上面的if产生

form(action="/list/mine")
   input(type="hidden" value=parseInt(next) name="skip" )
   input(type="submit" value="Next" class="pure-button pure-button-primary")

类似于else ifelse 子句(具有不同的表单值)。

目前只有当else 有效时才输出表单的主体,所以它这样做是有道理的。由于某种原因,我的思想放弃了我。

如何在不复制表单体的情况下,实现不同表单属性的表单体有条件打印?如果可能,请显示有效的玉示例代码。

【问题讨论】:

    标签: javascript node.js pug


    【解决方案1】:

    我在 Jade 中使用了 JavaScript,其中有两个变量为 actionmethod。不确定这个解决方案有多好,如果您有更好的解决方案,请随时发布答案。

    - var action = "";
    - var method = "";
     if(loggedIn && !search)
       - action = "/vehicle/secure/api/list/mine";
       - method = "GET";
     else if(search)
       - action = "/vehicle/api/search";
       - method = "POST";
     else
       - action = "/vehicle/api/list";
       - method = "GET";
     form(action=action, method=method)
       input(type="hidden" name="skip" value=parseInt(next))
       input(type="submit", value="Previous" class="pure-button pure-button-p
    

    【讨论】:

    • 这帮助我避免了复制整个代码,因为我想检查用户是管理员级别 1 还是管理员级别 2。
    猜你喜欢
    • 1970-01-01
    • 2012-05-07
    • 2013-11-10
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    相关资源
    最近更新 更多