私のアプリは、メソッドを実行するために参考のためにサービスファイルにアクセスしようとしています。私は、コンソールで次のエラーを取得しておいてください。角4サービスファイル参照未定義として表示
Uncaught TypeError: Cannot read property 'keytermsUpdateService' of undefined
at HTMLDivElement.froalaEditor.keyup (editor.component.ts:51)
at HTMLDivElement.dispatch (scripts.bundle.js:4)
at HTMLDivElement.q.handle (scripts.bundle.js:4)
at Object.trigger (scripts.bundle.js:5)
at r.fn.init.triggerHandler (scripts.bundle.js:5)
at v (scripts.bundle.js:13)
at HTMLDivElement.<anonymous> (scripts.bundle.js:13)
at HTMLDivElement.dispatch (scripts.bundle.js:4)
at HTMLDivElement.q.handle (scripts.bundle.js:4)
at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:425)
私は機能の範囲をチェックしたし、コンストラクタをチェックしましたが、私は、エラーを見つけることができません。
import { Component, ViewEncapsulation } from '@angular/core';
import { Editor} from './editor';
import { KeytermsService } from '../keyterms/keyterms.service';
import rake from 'rake-js';
import striptags from 'striptags';
declare var $: any;
@Component({
selector: 'app-editor',
templateUrl: './editor.component.html',
styleUrls: ['./editor.component.css'],
encapsulation: ViewEncapsulation.None
})
export class EditorComponent {
title = 'editor';
statusCode: number;
editor: Editor[];
allEditor: Editor[];
constructor(public keytermsService: KeytermsService) {
}
ngOnInit(): void {
$.FroalaEditor.DefineIcon('alert', {NAME: 'info'});
let keywords;
this.keytermsService.keytermsUpdateService(keywords);
}
public options: Object = {
placeholderText: 'Edit Your Content Here!',
charCounterCount: false,
height: "70vh",
placeholder: "Edit Me",
events : {
'froalaEditor.keyup' : function(e, editor) {
let html = (editor.html.get());
let text = striptags(html);
console.log(text);
let ec = new EditorComponent(this.keytermsService);
let keywords = rake(text, { language: 'english' });
this.keytermsService.keytermsUpdateService(keywords);
}
}
}
どんなに私がkeytermsUpdateServiceにアタッチ何の機能、私はそのエラーを取得していない:ここで
は私のコンポーネントファイルです。
ngOnInitでオプション(または少なくともoptions.events)を定義してみてください。コンポーネントは、オプションが初期化されたときにkeytermsService Injectableにアクセスできない可能性があります。 – LLai