在给定组件中使用viewProviders
声明的提供程序可由组件本身及其所有视图后继者访问。但他们需要有亲子关系。
但是,现在我有4个组件A,B,C,D 和1个服务E 。
这些组件没有父子关系。
如何让A和B使用此服务的一个实例,C和D使用另一个实例?
由于
答案 0 :(得分:1)
在class F extends E
和E
,A
和B
中的F
和C
创建新的课程D
并请求E
。您还可以使用不同的令牌注册sqlite3 *db = NULL;
char *zErrMsg = 0;
int rc;
char *sql;
rc = sqlite3_vfs_register(sqlite3_demovfs(), 1); /* Register a VFS */
if(rc != SQLITE_OK)
{
abort();
}
rc = sqlite3_open_v2("testsql.db", &db, SQLITE_OPEN_READWRITE |
SQLITE_OPEN_CREATE , "demo" );/* Create a SQL table */
if( rc )
{
abort();
}
sql = "PRAGMA journal_mode=OFF";/* Create SQL statement */
rc = sqlite3_exec(db, sql, NULL, NULL, &zErrMsg);/* Execute SQL statement */
if( rc != SQLITE_OK )
{
sqlite3_free(zErrMsg);
abort();
}
sql ="CREATE TABLE Cars(Id INT, Name TEXT, Price INT);" ;/* Create SQL statement */
rc = sqlite3_exec(db, sql, NULL, NULL, &zErrMsg);/* Execute SQL statement */
if( rc != SQLITE_OK )
{
sqlite3_free(zErrMsg);
abort();
}
sql = "INSERT INTO Cars VALUES(1, 'Audi', 52642);"/* Create SQL statement */
"INSERT INTO Cars VALUES(2, 'Skoda', 9000);";
rc = sqlite3_exec(db, sql, NULL, NULL, &zErrMsg);/* Execute SQL statement */
if( rc != SQLITE_OK )
{
sqlite3_free(zErrMsg);
abort();
}
sql = "SELECT * from Cars";/* Create SQL statement */
const char* data = "Callback function called";
rc = sqlite3_exec(db, sql, callback, (void *)data, &zErrMsg);/* Execute SQL statement */
if( rc != SQLITE_OK )
{
sqlite3_free(zErrMsg);
abort();
}
sqlite3_close(db);
并在构造函数中请求令牌而不是类型。