异常 self.context.XXX.subscribe 不是函数
Exception self.context.XXX.subscribe is not a function
在我的 Angular 2 应用程序中,我需要将一个数组从一个组件传递到另一个组件。我有一个名为 SystemDynamicsComponent
的组件,它公开了一个数组 sdFactors
:
@Component({
selector: "system-dynamics",
templateUrl: "/app/component/main/template/system-dynamics.html"
})
export class SystemDynamicsComponent implements OnInit {
private dialogDisplayed: boolean = false;
@Output() sdFactors: any[] = [];
在名为 InputModuleComponent
的组件中,我需要按如下方式读取此值:
模板:
<system-dynamics (sdFactors)="this.sdFactors"></system-dynamics>
组件:
export class InputModuleComponent implements OnInit {
...
sdFactors: any[] = [];
启动输入模块组件时,我收到来自 Angular 的错误消息:
TypeError: self.context.sdFactors.subscribe is not a function
at Wrapper_SystemDynamicsComponent.subscribe (wrapper.ngfactory.js:38)
at View_InputModuleComponent6.createInternal (component.ngfactory.js:3103)
at View_InputModuleComponent6.AppView.create (core.umd.js:12262)
at View_InputModuleComponent6.DebugAppView.create (core.umd.js:12666)
at TemplateRef_.createEmbeddedView (core.umd.js:9320)
at ViewContainerRef_.createEmbeddedView (core.umd.js:9552)
知道我遗漏了什么吗?
试试这个
<system-dynamics (sdFactors)="sdFactors"></system-dynamics>
而不是
<system-dynamics (sdFactors)="this.sdFactors"></system-dynamics>
您不需要在绑定模板中添加this
。来自相同class的变量可以在模板中没有this
的情况下被访问。
更新
@output
用于事件绑定而不是 属性 绑定,你必须使用 @input
作为 passign 数组或一些变量值,所以像这样使用
<system-dynamics [sdFactors]="sdFactors"></system-dynamics>
在你这样的组件中
@Component({
selector: "system-dynamics",
templateUrl: "/app/component/main/template/system-dynamics.html"
})
export class SystemDynamicsComponent implements OnInit {
private dialogDisplayed: boolean = false;
@Input() sdFactors: any[] = [];
在我的 Angular 2 应用程序中,我需要将一个数组从一个组件传递到另一个组件。我有一个名为 SystemDynamicsComponent
的组件,它公开了一个数组 sdFactors
:
@Component({
selector: "system-dynamics",
templateUrl: "/app/component/main/template/system-dynamics.html"
})
export class SystemDynamicsComponent implements OnInit {
private dialogDisplayed: boolean = false;
@Output() sdFactors: any[] = [];
在名为 InputModuleComponent
的组件中,我需要按如下方式读取此值:
模板:
<system-dynamics (sdFactors)="this.sdFactors"></system-dynamics>
组件:
export class InputModuleComponent implements OnInit {
...
sdFactors: any[] = [];
启动输入模块组件时,我收到来自 Angular 的错误消息:
TypeError: self.context.sdFactors.subscribe is not a function
at Wrapper_SystemDynamicsComponent.subscribe (wrapper.ngfactory.js:38)
at View_InputModuleComponent6.createInternal (component.ngfactory.js:3103)
at View_InputModuleComponent6.AppView.create (core.umd.js:12262)
at View_InputModuleComponent6.DebugAppView.create (core.umd.js:12666)
at TemplateRef_.createEmbeddedView (core.umd.js:9320)
at ViewContainerRef_.createEmbeddedView (core.umd.js:9552)
知道我遗漏了什么吗?
试试这个
<system-dynamics (sdFactors)="sdFactors"></system-dynamics>
而不是
<system-dynamics (sdFactors)="this.sdFactors"></system-dynamics>
您不需要在绑定模板中添加this
。来自相同class的变量可以在模板中没有this
的情况下被访问。
更新
@output
用于事件绑定而不是 属性 绑定,你必须使用 @input
作为 passign 数组或一些变量值,所以像这样使用
<system-dynamics [sdFactors]="sdFactors"></system-dynamics>
在你这样的组件中
@Component({
selector: "system-dynamics",
templateUrl: "/app/component/main/template/system-dynamics.html"
})
export class SystemDynamicsComponent implements OnInit {
private dialogDisplayed: boolean = false;
@Input() sdFactors: any[] = [];