javascript - Yeoman şablonda döngü


Bu JSON dosyasını almak için yeoman kullanmaya çalışıyorum:

{
  "models": {
    "user": {
      "properties": [
        {
          "name": {
            "type": "string"
          },
          "surname": {
            "type": "string"
          },
          "id": "number"
        }
      ]
    }
  }
}

Ve onu şöyle bir şeye dönüştür:

Class User {
  name : string
  surname : string
  id : number
}

Şablonda bir tür döngü yapmak mümkün olur mu? Aklımdaki şey şudur...

  export class <%= entityName %> extends Model   {
      <% forEach (property in props) { %>
         <%= property.name %> : <% property.type %>;
      <% } %>
  }

Cevap #1

Şablon dili herhangi bir JS kodunu çalıştırabilir. Yani normal for döngüsü veya dizilerde yineleme yöntemlerini (arr.forEach()) kullanabilirsiniz.

export class <%= entityName %> extends Model   {
    <% for (property of props) { %>
         <%= property.name %> : <% property.type %>;
    <% } %>
}

Yeoman, şablon motoru olarak ejs kullanıyor. Desteklenen özellikler hakkında daha fazla bilgi için web sitelerini ziyaret edin.

Cevap #2

Bence şablonda bu tür döngülemeyi kullanamazsın. Yapabileceğin şey, betik dosyana bir yardımcı yöntem ekleyip JSON dosyandan içeriği bir değişkene üretmek ve sonra o değişkeni şablonuna eklemektir.

İlgili makaleler