延迟回调中的异常:错误:没有这样的模板:autoform

时间:2017-09-20 20:53:24

标签: javascript meteor meteor-blaze meteor-autoform simple-schema

假设我做了像aldeed描述here之类的所有内容来创建自定义表单模板。我忘记了什么或autoform标签不存在的错误在哪里?

实际的html考试:

<template name="afType_talkBar">
  {{#autoform schema=Schema.Nachrichten id="sendMessageForm" type="insert"}}
  <fieldset class="clubChat__input">
    <div class="clubChat__message-bar">
        {{> afQuickField name='chatroomId'}}
        {{> afQuickField name='userName'}}
        <div class="form-group{{#if afFieldIsInvalid name='content'}} has-error{{/if}}">
              <div class="input-group">
                <span class="input-group-addon">$</span>
                {{> afFieldInput name='content'}}
                <span class="input-group-addon">/each</span>
              </div>
              {{#if afFieldIsInvalid name='content'}}
              <span class="help-block">{{afFieldMessage name='content'}}</span>
              {{/if}}
        </div>
        <input type="submit" value="{{_ 'chatAction.send'}}">
    </div>
  </fieldset>
  {{/autoform}}
</template>

客户端talkBar.js

import './talkBar.html';

// Import necessary js Packages
import { Meteor } from 'meteor/meteor';
import { Template } from 'meteor/templating';

import { Nachrichten } from '../../../api/nachrichten/nachrichten';

奖金问题。插入

Template.talkBar.helpers({
  nachrichtenCollection(){
    return Nachrichten;
  }
});

导致未捕获的TypeError:无法读取属性&#39;帮助&#39;未定义的

看起来我错过了一些基本的东西

2 个答案:

答案 0 :(得分:0)

帮助程序定义中的模板名称不正确。模式如下

Template.Template_Name.helpers({});

您命名的模板名称不正确。它必须如下,

Template.afType_talkBar.helpers({});

在客户端JS文件中声明Collection时,也使用了相对路径。你可以使用如下,

import { nachrichten } from '/import/api/nachrichten/nachrichten.js';

这是更好的约定,因为您可以根据需要在其他任何地方剪切粘贴js文件,并且您可能还会创建许多js文件并在将来随机播放它们,因此路径将根据您的声明进行更改。

答案 1 :(得分:0)

错字错误而不是自动形式它必须是自动 F orm

正确的代码应如下所示:

<template name="afType_talkBar">
  {{#autoForm schema=Schema.Nachrichten id="sendMessageForm" type="insert"}}
  <fieldset class="clubChat__input">
    <div class="clubChat__message-bar">
        {{> afQuickField name='chatroomId'}}
        {{> afQuickField name='userName'}}
        <div class="form-group{{#if afFieldIsInvalid name='content'}} has-error{{/if}}">
              <div class="input-group">
                <span class="input-group-addon">$</span>
                {{> afFieldInput name='content'}}
                <span class="input-group-addon">/each</span>
              </div>
              {{#if afFieldIsInvalid name='content'}}
              <span class="help-block">{{afFieldMessage name='content'}}</span>
              {{/if}}
        </div>
        <input type="submit" value="{{_ 'chatAction.send'}}">
    </div>
  </fieldset>
  {{/autoForm}}
</template>