【问题标题】:How do I get a variable by name in a mixin如何在mixin中按名称获取变量
【发布时间】:2012-02-11 20:25:48
【问题描述】:

表格(部分):

include ../mixins/form-helpers

form(action='/users/create', method='post')

  div.fields

    fieldset

      mixin field('text', 'email', 'Email')
      mixin field('password', 'password', 'Password')
      mixin field('password', 'password_confirmation', 'Confirm password')
      mixin field('username', 'username', 'Username')

  mixin submit('Register')

字段混合如下所示:

mixin field(type, n, label)
  .clearfix
    label(for='#{n}') #{label}
    .input
      input#password.span8(name=n, type=type, value=user[name])

控制器:

(req, res)->

  user =
    email: 'someemail'
    password: ''
    password_confirmation: ''
    username: 'someusername'

  res.render 'users/new',  user:user

我正在尝试使字段 mixin 更通用一点,以便我可以重用它。我正在寻找一种将“user[name]”替换为“generic[name]”的方法

【问题讨论】:

    标签: node.js coffeescript pug express


    【解决方案1】:

    您可以使用破折号(-)在jade中的模板内设置变量

    因此,如果您使用 generic[name],您可以在表单中执行以下操作:

    -var generic = user;
    
    include ../mixins/form-helpers
    
    form(action='/users/create', method='post')
    
      div.fields
    
        fieldset
    
          mixin field('text', 'email', 'Email')
          mixin field('password', 'password', 'Password')
          mixin field('password', 'password_confirmation', 'Confirm password')
          mixin field('username', 'username', 'Username')
    
      mixin submit('Register')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多