質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Pug

Pug(旧Jade)とは、HTMLを書くためのテンプレートエンジン。タグで囲む必要がないなど記述を省略できるため、HTMLの記述が簡単になります。ファイル分割も可能で、変数やループなど便利な機能も備わっています。

Q&A

1回答

2684閲覧

pugのif文で外枠だけ分岐して内容は共通にしたい

IKEMAKI

総合スコア10

Pug

Pug(旧Jade)とは、HTMLを書くためのテンプレートエンジン。タグで囲む必要がないなど記述を省略できるため、HTMLの記述が簡単になります。ファイル分割も可能で、変数やループなど便利な機能も備わっています。

0グッド

0クリップ

投稿2019/02/22 02:59

前提・実現したいこと

pugのif文はよく使うのですが、たとえば囲っているdivのクラスだけ変えたくて、内容は共通にしたいんだよなということがよくあったので、そもそもできるのかどうかをお聞きしたいです。

該当のソースコード

pug

1- var lunch = "うどん" 2if ( lunch == "うどん" ) 3 div(class="lunch udon")    //分岐で変えたい 4  p 満腹です            //分岐で変えたい 5  p 会社周辺のうまいもんマップは //共通にしたい 6   a(href="hoge.html") こちら //共通にしたい 7else 8 div(class="lunch soba")    //分岐で変えたい 9  p 腹八分目           //分岐で変えたい 10  p 会社周辺のうまいもんマップは //共通にしたい 11   a(href="hoge.html") こちら //共通にしたい

試したこと

共通コンテンツ(↑でいうところのうまいもんマップ)を外に出して、分岐内でincludeすれば望み通りの動きにはなります。しかし、軽いコンテンツの分岐であった場合、毎回別のところに置いて管理するのはちょっと面倒だなと思っていたので、ソースの流れの中でできたらいいな、と思い質問いたしました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

囲ってるdivもif(三項演算子)を使えば解決するのではないですかね。

- var menu = "うどん" div(class=`lunch ${menu === "うどん" ? 'udon' : 'soba'}`) if ( menu === "うどん" ) p 満腹です else p 腹八分目 p 会社周辺のうまいもんマップは a(href="hoge.html") こちら

投稿2022/08/09 12:02

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問