添加提供商的服务将其设置为空

时间:2017-11-06 16:06:47

标签: angular angular-dart

我在Angular中明显没有理解依赖注入的东西。我有一项使用其他服务的服务。我想在同一个组件中提供两者。我的组件如下所示:

@Component(
    /// ...
    providers: const [
      MediatorService,
    ])
class ReviewTableComponent implements OnDestroy, OnInit {
  final MediatorService _mediatorService;

  ReviewTableComponent(
    this._mediatorService,
  );

  /// ...
}

MediatorService是使用名为QuoteCompositionService的其他服务的服务。像这样,组件渲染得很好,我可以调用MediatorService上的方法。显然,使用QuoteCompositionService的任何内容都会失败,因为它没有在其他地方提供。

所以,如果我将QuoteCompositionService添加到同一个组件,就像这样

@Component(
    /// ...
    providers: const [
      QuoteCompositionService,
      MediatorService,
    ])
class ReviewTableComponent implements OnDestroy, OnInit {
  final QuoteCompositionService _quoteCompositionService;
  final MediatorService _mediatorService;

  ReviewTableComponent(
    this._quoteCompositionService,
    this._mediatorService,
  );

  /// ...
}

然后我希望能够调用MediatorService上的所有方法。 但是,我现在收到一条错误消息,指出_mediatorServicenull。为什么将QuoteCompositionService添加到提供者列表会使_mediatorService null

我假设在QuoteCompositionService实例化之前我必须提供ReviewTableComponent。但是,我不明白为什么_mediatorServicenull以前没有MediatorService

如果有帮助的话,这里有一些@Injectable() class MediatorService { final QuoteCompositionService _quoteCompositionService; /// ... MediatorService( this._quoteCompositionService, /// ... ); /// ... } 。 (也许我应该在这里做点什么?)

library(tm)
library(RTextTools)
library(e1071)
library(caret)
library(ROCR)
cdr<- getwd()
setwd("E:/KULIAH")
text<- read.csv("klasifikasi tweet.csv")
set.seed(95616)
index<- sample(2, dim(text)[1], replace = T, prob = c(0.8,0.2))
text = rbind(text[index==1,], text[index==2,])
input <- text$tweet
class <- as.factor(text$kelas.)
text_mat<-create_matrix(input,language = "english", removeNumbers = TRUE,removePunctuation = F, removeStopwords =F,removeSparseTerms=0.998, stemWords = F, weighting = weightTfIdf)
train_data<- create_container(text_mat, as.numeric(class),  trainSize=1:4000, testSize=4001:4449, virgin = FALSE)
model<-train_model(train_data, "MAXENT")
result<- classify_model(train_data, model)

1 个答案:

答案 0 :(得分:0)

没关系。 QuoteCompositionService提供商列表中存在拼写错误。显然有拼写错误导致编译失败。