2017-11-10 2 views
3

Ich verwende Angular 4 'FroalaEditor', die 'JQuery' verwendet.Eigenschaft 'FroalaEditor' existiert nicht für den Typ 'JQueryStatic' - Angular 4

Ich habe es erfolgreich implementiert. Jetzt muss ich benutzerdefinierte Schaltflächen in diesem Plugin hinzufügen.

fand ich folgende solution

import { Component, OnInit, ViewEncapsulation } from '@angular/core'; 
import * as $ from 'jquery'; 

@Component({ 
    selector: 'app-froala-editor', 
    templateUrl: './froala-editor.component.html', 
    styleUrls: ['./froala-editor.component.scss'], 
    encapsulation: ViewEncapsulation.None 
}) 
export class FroalaEditorComponent implements OnInit { 
    options; 
    constructor() { } 

    ngOnInit(){ 
    $.FroalaEditor.DefineIcon('alert', {NAME: 'info'}); 
    $.FroalaEditor.RegisterCommand('alert', { 
     title: 'Hello', 
     focus: false, 
     undo: false, 
     refreshAfterCallback: false, 
     callback: function() { 
     alert('Hello!'); 
     } 
    }); 

    this.options={ 
     toolbarButtons: ['bold', 'italic', 'underline', 'paragraphFormat','alert', '|', 'insertLink', 'insertImage', 'specialCharacters', 'color', '|', 'align', 'formatOL', 'formatUL', '|', 'undo', 'redo', 'clearFormatting', 'print'], 
    } 
    } 

} 

Aber ich folgende Fehler habe.

Die Eigenschaft 'FroalaEditor' existiert beim Typ 'JQueryStatic' nicht.

Ich fand diese solution, aber ich bin mir nicht sicher, wie Sie es implementieren.

Hat jemand dieses Problem konfrontiert?

+0

Haben Sie versucht, 'import * als $ von 'jquery' hinzuzufügen;' in 'app.module.ts'? Es kann vermieden werden, es überall hinzuzufügen, wo Sie es brauchen. –

+0

Ja, 'importieren * als $ von 'jquery';' –

Antwort

0

Fügen Sie diese in Ihrem Code:

interface JQueryStatic { 
    FroalaEditor: any; 
} 
+0

Funktioniert nicht. Es verwendet Eigenschaften von FroalaEditor. –

0

hatte ich das gleiche Problem mit froala auf Aurelia und ich löste es durch, wie dies zu tun:

$['FroalaEditor'].DefineIcon('alert', {NAME: 'info'}); 
0

Die Lösung, die für mich gearbeitet wurde, um Fügen Sie declare var $: any; statt import * as $ from 'jquery'; direkt nach dem Import in der Komponente mit dem Editor hinzu.

Verwandte Themen