{"record":{"id":"36a77b239ee581c8","repo":"angular/angular","slug":"output-propertyname-not-initialized-in-inst","errorCode":null,"errorMessage":"@Output ${propertyName} not initialized in '${instance.constructor.name}'.","messagePattern":"@Output (.+?) not initialized in '(.+?)'\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/core/src/render3/view/directive_outputs.ts","lineNumber":122,"sourceCode":"}\n\nexport function listenToOutput(\n  tNode: TNode,\n  lView: LView,\n  directiveIndex: number,\n  lookupName: string,\n  eventName: string,\n  listenerFn: WrappedEventCallback,\n) {\n  ngDevMode && assertIndexInRange(lView, directiveIndex);\n  const instance = lView[directiveIndex];\n  const tView = lView[TVIEW];\n  const def = tView.data[directiveIndex] as DirectiveDef<unknown>;\n  const propertyName = def.outputs[lookupName];\n  const output = instance[propertyName];\n\n  if (ngDevMode && !isOutputSubscribable(output)) {\n    throw new Error(`@Output ${propertyName} not initialized in '${instance.constructor.name}'.`);\n  }\n\n  const subscription = (output as SubscribableOutput<unknown>).subscribe(listenerFn);\n  storeListenerCleanup(tNode.index, tView, lView, eventName, listenerFn, subscription, true);\n}\n\n/**\n * Whether the given value represents a subscribable output.\n *\n * For example, an `EventEmitter, a `Subject`, an `Observable` or an\n * `OutputEmitter`.\n */\nfunction isOutputSubscribable(value: unknown): value is SubscribableOutput<unknown> {\n  return (\n    value != null && typeof (value as Partial<SubscribableOutput<unknown>>).subscribe === 'function'\n  );\n}\n","sourceCodeStart":104,"sourceCodeEnd":140,"githubUrl":"https://github.com/angular/angular/blob/51cb07e98081ab7e4e84a9e0949266a8e19cca84/packages/core/src/render3/view/directive_outputs.ts#L104-L140","documentation":"Error \"@Output ${propertyName} not initialized in '${instance.constructor.name}'.\" thrown in angular/angular.","triggerScenarios":"Thrown at packages/core/src/render3/view/directive_outputs.ts:122 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Initialize the @Output with an EventEmitter or output() in the directive class."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"51cb07e98081ab7e4e84a9e0949266a8e19cca84","analyzedAt":"2026-08-22T07:04:54.531Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}