如何在没有父子关系的情况下使用不同的服务实例?

时间:2016-03-02 04:11:27

标签: angular

在给定组件中使用viewProviders声明的提供程序可由组件本身及其所有视图后继者访问。但他们需要有亲子关系。

但是,现在我有4个组件A,B,C,D 和1个服务E

这些组件没有父子关系。

如何让A和B使用此服务的一个实例,C和D使用另一个实例?

由于

1 个答案:

答案 0 :(得分:1)

class F extends EEAB中的FC创建新的课程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); 并在构造函数中请求令牌而不是类型。