0

假设我有一个玉模板,例如:

style.
  .someclass1{
    font-size:10px;
  }
  .someclass2{
    font-size:10px;
  }
  .someclass3{
    font-size:10px;
  }
  .someclass4{
    font-size:10px;
  }
  .someclass5{
    font-size:10px;
  }

而且我想.someclass3在渲染玉模板时从不同的选项中得到不同的结果。

就像是:

style.
  .someclass1{
    font-size:10px;
  }
  .someclass2{
    font-size:10px;
  }
  if(options.key1=='a')
    .someclass3{
      font-size:10px;
    }
  else
    .someclass3{
      font-size:8px;
    }
  .someclass4{
    font-size:10px;
  }
  .someclass5{
    font-size:10px;
  }

它不工作。

我必须将样式标签分成两部分并执行以下操作:

style.
  .someclass1{
    font-size:10px;
  }
  .someclass2{
    font-size:10px;
  }
if(options.key1=='a')
  style.
    .someclass3{
      font-size:10px;
    }
else
  style.
    .someclass3{
      font-size:8px;
    }
style.
  .someclass4{
    font-size:10px;
  }
  .someclass5{
    font-size:10px;
  }

这将产生一个 3-style tags HTML,实际上只需要一个。

任何人都有这样做的好方法吗?

4

1 回答 1

3

你可以这样做。您可以将 放在每个纯文本块之前,而不是将其放在标记.之后style(它告诉 pug 整个块是纯文本) 。.例如。

style
  .
    .someclass1{
      font-size:10px;
    }
    .someclass2{
      font-size:10px;
    }
  if options.key1=='a'
    .
      .someclass3{
        font-size:10px;
      }
  else
    .
      .someclass3{
        font-size:8px;
      }
  .
    .someclass4{
      font-size:10px;
    }
    .someclass5{
      font-size:10px;
    }
于 2017-01-12T16:17:42.790 回答