0

これが私のJSです:

UI.registerHelper('editor', function(doc){
  var html = ' <div class="form-group">';
  html += '<label class="control-label">Content</label>';
  // html += '<textarea rows="5" name="content" class="form-control" id="postContent" required data-schema-key="content">' + doc.content + '</textarea>';
  html += '</div>';

  console.log(doc);

  return Spacebars.SafeString(html);
});

テンプレート:

<template name="postForm">
  {{#autoForm collection="Posts" id=formId type=action validation="submit" doc=.. }}
    {{> afQuickField name='slug' }}
    {{> afQuickField name='title' }}

    {{editor ../..}}

    <button type="submit" class="btn btn-primary">{{submitBtn}}</button>
  {{/autoForm}}
</template>

私のconsole.logこれは印刷されているものです:

Document.(anonymous function) {_id: "JMZRMiMgvX3WxPFSc", slug: "test", title: "test", content: "werwer", user_id: "qQu4RurcQPqN5CP3R"…}
_id: "JMZRMiMgvX3WxPFSc"
content: "werwer"
createdAt: "2014-05-02T15:41:48.458Z"
slug: "test"
title: "test"
user_id: "qQu4RurcQPqN5CP3R"

が何であるかはよくわかりませんDocument.(anonymous function)が、親からコンテンツにアクセスしてヘルパーで使用するだけです。

編集 これが私が仕事をするコードです

JavaScript:

UI.registerHelper('editor', function(context, options){
  var content = (context !== 'undefined') ? context : null;
  var html = ' <div class="form-group">';
  html += '<label class="control-label">Content</label>';
  html += '<textarea rows="5" name="content" class="form-control" id="postContent" required data-schema-key="content">' + content + '</textarea>';
  html += '</div>';

  if(content) {
    var editor = $('#postContent').wysihtml5();
    editor.data("wysihtml5").editor.setValue(content);
  }

  return Spacebars.SafeString(html);
});

テンプレート:

<template name="postForm">
  {{#autoForm collection="Posts" id=formId type=action validation="submit" doc=.. }}
    {{> afQuickField name='slug' }}
    {{> afQuickField name='title' }}

    {{{editor ../../content}}}

    <button type="submit" class="btn btn-primary">{{submitBtn}}</button>
  {{/autoForm}}
</template>
4

0 に答える 0