2016-04-15 11 views
1

私は現在、それはこのようにほとんど見えSummernoteテキストエリアのWysiwygとAureliaの統合はありますか?

を使用しています: デモhttp://aurelia-tinymce-sample.sukobuto.com/

githubのhttps://github.com/sukobuto/aurelia-tinymce-sample

しかし、私は実際にテキストエリアのトンをバインドすることはできませんので、これはnodejsで動作し、

このWYSIWYGのリストは、それぞれのレビューで見つかりましたが、どれもアウレリアと完全に統合されていないようです。

https://github.com/iDoRecall/comparisons/blob/master/JavaScript-WYSIWYG-editors.md

nodejsを避けるためのアイデアやヒントはありますか?

+0

グローバルにインストールされたCKEDITORを使用した例があります。興味がありますか? –

+0

もしそれがaureliaバインディングで、node.jsと同じものであれば、それはおそらくalloyeditorでもうまくいきます。 – Saikios

+0

ええと、それはaureliaバインディングで動作します。唯一の問題は、タグを使用して別々にロードする必要があったことです。 CKEDITORはいくつかのファイルを非同期的にロードしなければならず、私はまだwebpackを使用して正しくロードする方法を理解していませんでした。しかし、それは非常にうまくいく。 –

答えて

1

EDIT:

この質問 Using CKEditor with Aurelia はオーレリアとCKEditorバージョンを使用する方法のより良い例があります。あなたは を使ってください。ここで


はCKEditorバージョンを使用した例です。

JS - 入力-editor.js

import {inject, bindable, bindingMode, containerless} from 'aurelia-framework'; 

@containerless 
@inject(Element) 
export class InputEditor { 
    @bindable({ defaultBindingMode: bindingMode.twoWay }) value; 
    @bindable name; 

    constructor(element) { 
    this.element = element; 
    } 

    updateValue() { 
    this.value = this.textArea.value; 
    } 

    bind() { 
    this.textArea = this.element.parentElement.getElementsByTagName('textarea')[0]; 
    let editor = CKEDITOR.replace(this.textArea); 
    this.editorName = editor.name; 
    editor.on('change', (e) => { 
     this.value = e.editor.getData(); 
    }); 
    } 

} 

HTML入力-editor.html

<template> 
    <textarea change.trigger="updateValue()"></textarea> 
    <input type="hidden" name.bind="name" value.bind="value" /> 
</template> 

今、あなたはこのようにそれを使用する必要があります。

<input-editor value.bind="someProperty"> 
</input-editor> 

I CKEDITORがいくつかのファイルを非同期的にロードしなければならないので、webpack/systemJSで適切にCKEDITORをロードする方法はまだ分かりません。だから、私は<script>タグを使用して、グローバルにロードする必要がありました:

<script src="/layout/js/lib/ckeditor/ckeditor.js"></script> 

ロードアプローチは良いことではありませんが、それが正常に動作します。

+0

アンバインドコールバックで 'change'イベントハンドラを削除するコードを追加したいとします。 –

+0

以前は、 'change'イベントを削除してdetached()コールバックでCKEDITOR.destroy()を呼び出していましたが、要素がもう存在しないというエラーが表示されます。これは、アンバインドを使用して固定する必要があります。思い出させていただきありがとうございます!私はこの答えを更新します。 –

関連する問題