嵌套在动态模板中时不调用Meteor Autoform方法

时间:2015-04-16 15:35:44

标签: meteor meteor-autoform

我无法理解为什么AutoForm在这里不能100%工作。客户端验证有效,但提交表单不会调用流星方法insertQuestion

只要将modal模板的内容替换为modalQuestion模板,它就可以工作,并调用meteor方法。所以我最好的猜测是,它与{{> Template.dynamic }}包含有关,但我自己无法解决这个问题。

有谁可以告诉我为什么动态模板包含在这里玩得不好?

的layout.html

<template name="layout">
    {{> modal}}
</template>

layout.js

Session.set('modalData', {template: "modalQuestion", title: "Test"});

modal.js

Template.modalBlock.onRendered(function () {
    this.autorun(function() {
        if (Session.get('modalData')) {
            $('#modal').modal();
        }
    });
});

modal.html

    <!-- A template to include in index.html that dynamically renders the a modal template -->
    <template name="modal">
        {{#if modalData}}
            {{> Template.dynamic template=modalData.template data=modalData}}
        {{/if}}
    </template>

    <!-- A generic block to be used by our modals -->
    <template name="modalBlock">
        <div id="modal">
            <header>{{title}}</header>
            {{> Template.contentBlock }}
        </div>
    </template>

    <!-- A specific modal template -->
    <template name="modalQuestion">
        {{#modalBlock title=title}}
            {{ #autoForm schema=SchemasQuestion meteormethod="insertQuestion" type="method" id="insertQuestionForm" class="form" }}
                {{> afQuickField name="text" label=false placeholder="schemaLabel" }}
                <button type="submit" class="button">Submit</button>
            {{ /autoForm }}
        {{/modalBlock}}
    </template>

0 个答案:

没有答案