autowired 默认初始化
2025/4/16小于 1 分钟
autowired 默认初始化
说明
是否自动注入初始化的值,适用于 ModelBase ,依赖 model
来进行自动初始化
案例
模型和实例
数组模型
模型
class TestItem extends ModelBase {
@Column()
public message?: string
}
class Test extends ModelBase {
// 数组初始化
@Column({
model: () => TestItem,
default: () => [],
})
public initArray?: TestItem[]
// 数组未进行初始化
@Column({
model: () => TestItem,
})
public noInitArray?: TestItem[]
}
实例初始化
const test = new Test()
打印日志
console.log(test.initArray)
// []
console.log(test.noInitArray)
// undefined
对象模型
模型
class TestItem extends ModelBase {
@Column()
public message?: string
}
class Test extends ModelBase {
// 对象初始化
@Column({
model: () => TestItem,
autowired: true,
})
public initObject?: TestItem
// 对象未初始化
@Column({
model: () => TestItem,
autowired: false,
})
public noInitObject?: TestItem
}
实例初始化
const test = new Test()
打印日志
console.log(test.initObject)
// { message: undefined }
console.log(test.noInitObject)
// undefined
普通类型模型
模型
class Test extends ModelBase {
// 数字类型
@Column({ autowired: true })
public num?: number
// 字符串类型
@Column({ autowired: true })
public str?: string
// 布尔类型
@Column({ autowired: true })
public bool?: boolean
}
实例初始化
const test = new Test()
打印日志
console.log(test.num)
// undefined
console.log(test.str)
// undefined
console.log(test.bool)
// undefined
注意事项
autowired
无法用于普通类型初始化- 普通类型初始化若需初始化请参考
default