2016-11-05 2 views
3

Ich lerne, indem ich ein paar Meteore ausführe und QuillJS als Texteditor kennengelernt habe. Im Moment habe ich Probleme, die Zusammenhänge zwischen der Funktion und dem Einfügen der geschriebenen Inhalte in meine Blog-Sammlung zu verstehen.QuillJS mit Meteor - Wie fügt man Inhalt in db ein?

Dies ist, wie ich versuchte, den Inhalt der Pinole Editor zuzugreifen:

Template.blogform.events({ 
    'submit #blogForm': function(e) { 
    e.preventDefault(); 
    var title = $('#blogTitle').val(); 
    var body = document.querySelector('input[name=blogBody]'); 
    about.value = JSON.stringify(quill.getContents()); 

    Meteor.call('submitPost', title, body); 
    } 
}); 

Aber mit dem onRendered um die Pinole Variable, die Konsole wirft mir einen Fehler: „Pinole Ungültige Quill Behälter #editor“. Dies ist meine Initialisierung des quilljs, die ich als Knoten Paket zu laden:

Template.blogform.onRendered(function() { 
var quill = new Quill('#editor', { 
    modules: { 
     toolbar: true 
    }, 
    theme: "snow" 
    }); 
}); 

Q1: Wie kann ich den Inhalt meines Federkiel-Editor auf eine Sammlung einfügen?

Q2: Ist es die beste Praxis, das blogform.events zusammen mit dem Federkiel = new Quill in der gleichen Datei zu haben, oder soll ich teile dies einen editor.js und einen blogform.js?

Vielen Dank!

+0

Ich fand schließlich die Lösung in Camillos Antwort hier: http://stackoverflow.com/questions/26549964/how-to-access-nested-template-attributes. – bermudaa

Antwort

1

Der Fehler "Quill Invalid Quill container #editor" bedeutet, dass Quill kein Element mit #editor ID finden kann, wenn Sie "new Quill ('# editor', {})" aufrufen.

Stellen Sie sicher, dass das an Quill übergebene Element vorhanden ist, bevor Sie den Editor erstellen.

Ich schlage vor Q2 separat und als eine Meteorfrage zu fragen, weil es nicht speziell mit Quill verwandt ist.

+0

Ich denke, mein Problem ist, dass ich nicht auf die Variable 'quill' zugreifen kann, die in 'Template.onRendered' definiert ist, um sie in' Template.events' zu nennen. Alles funktioniert so, wie ich es brauche, wenn ich die Erklärung der Spule in die 'Template.onRendered' stelle. Haben Sie Hilfe für mich hier, wie man auf die erklärte Variable zugreift? – bermudaa

+0

Ich kann Ihnen mit Meteor nicht helfen, aber ich kann vorschlagen, die Frage so zu ändern, dass sie nur Meteor-Code enthält, der Ihr Problem reproduziert, ohne Quill zu benutzen. Versuchen Sie eine einfache Variable in Template.onRendered zu definieren und rufen Sie sie in Template.events auf. Sie werden wahrscheinlich das gleiche Problem haben, aber jetzt kann jemand, der mit Meteor vertraut ist, Ihnen helfen. –

Verwandte Themen