1

このAdonisJS のでは、Post クラス定義に @column セクションが含まれています。誰かがこれが何をするのか説明できますか? Post クラス内に「列」クラスの複数のインスタンスをメンバー変数として作成していると思います。各インスタンスは異なる名前とデータ型を持っています。しかし、これはどのように機能し、@ 記号は何のためにあるのでしょうか?

  import { column, BaseModel } from '@ioc:Adonis/Lucid/Orm'

  export default class Post extends BaseModel {
    @column({ isPrimary: true })
    public id: number

    @column()
    public title: string

    @column()
    public description: string
  }

以下は (定義されたデータ型なしで) 同等でしょうか?

export default class Post extends BaseModel
{
   constructor()
   {
      this.id = new column({ isPrimary: true });
      this.title = new column();
      this description = new column();
   }
}

アップデート:

AdonisJS が TypeScript で記述されていることに気付いた後、質問に答えるthisを見つけました。

4

1 に答える 1