我有TypeScript应用程序,我正在使用Inversify for IoC.
我有一个连接类:
'use strict';
import { injectable } from 'inversify';
import { createConnection, Connection } from "typeorm";
import { Photo, PhotoMetadata, Author, Album } from '../index';
@injectable()
class DBConnectionManager {
public createPGConnection(): Promise<Connection> {
return createConnection({
driver: {
type: "postgres",
host: "host",
port: 5432,
username: "username",
password: "password",
database: "username"
},
entities: [
Photo, PhotoMetadata, Author, Album
],
autoSchemaSync: true,
});
}
}
export { DBConnectionManager };
Run Code Online (Sandbox Code Playgroud)
在我创建连接后,我想将连接绑定到我的容器中:
kernel.bind<Connection>('DefaultConnection').toConstantValue(getConnectionManager().get());
Run Code Online (Sandbox Code Playgroud)
然后我想把它注入另一个类:
import { injectable, inject } from 'inversify'; …Run Code Online (Sandbox Code Playgroud) 我正在使用typeorm并且我想创建一个通用存储库:
import "reflect-metadata";
import { DBManager } from './db-manager';
import { Photo } from './entities/Photo';
import { createConnection, Connection } from "typeorm";
class GenericRepository<T> {
private connection: DBManager;
constructor(connection: DBManager) {
this.connection = connection;
}
public list(): T[] {
let result: T[] = [];
this.connection.connect().then(async connection => {
result = await <Promise<T[]>>(connection.entityManager.find(T));
});
return result;
}
}
let genericReposity = new GenericRepository<Photo>(new DBManager());
genericReposity.list();
Run Code Online (Sandbox Code Playgroud)
这段诅咒代码不起作用,并抱怨找不到名称 T 的 find 方法
T 应该是我的实体,但我不知道如何实现
我正在尝试使用valor-software/ngx-bootstrap来创建动态选项卡,但我想将组件的选择器放在动态创建的选项卡内容中,
在文档示例中,我们有:
import { Component, ChangeDetectionStrategy } from '@angular/core';
@Component({
selector: 'demo-tabs-dynamic',
changeDetection: ChangeDetectionStrategy.OnPush,
templateUrl: './dynamic.html'
})
export class DemoTabsDynamicComponent {
tabs: any[] = [
{ title: 'Dynamic Title 1', content: 'Dynamic content 1' },
{ title: 'Dynamic Title 2', content: 'Dynamic content 2', disabled:
true },
{ title: 'Dynamic Title 3', content: 'Dynamic content 3',
removable: true }
];
addNewTab(): void {
const newTabIndex = this.tabs.length + 1;
this.tabs.push({
title: `Dynamic Title ${newTabIndex}`,
content: `Dynamic content ${newTabIndex}`, …Run Code Online (Sandbox Code Playgroud) 如何初始化knex并使用Inversify依赖注入器将其注入
我需要的每一个地方?
我在查询中使用typeorm查找选项如何在where子句中使用IS NULL条件?
typeorm ×4
typescript ×3
inversifyjs ×2
node.js ×2
angular ×1
firebase ×1
generics ×1
knex.js ×1
mysql ×1
sql ×1
tabs ×1
where-clause ×1