Подтвердить что ты не робот

Доступные шаблоны с метеорным и железным маршрутизатором

Я использую новую ветвь blaze-integration IR и внесли необходимые изменения для существующего приложения. У меня в одном из моих шаблонов область доходности:

<div>
        {{> yield region='signup-detail'}}
</div>

Я хотел бы установить эту область в конфигурации маршрута с помощью yieldTemplates. Мой маршрут настроен так:

this.route('signUpInfo', {
        path: '/sign-up',
        template: 'signUp-form',
        yieldTemplates: _.extend({}, mainYieldTemplates, {
            'information': {to: 'signup-detail'}
        })
    });

mainYieldTemplates = {
    'footer': { to: 'footer' },
    'header': {to: 'header'}
};

Информация о моем шаблоне не отображается в signup-detail. Случается только с новой веткой акулы и инфракрасной вспышкой, что-нибудь изменилось с помощью шаблонов Yield?

Шаблоны нижнего колонтитула и заголовка установлены правильно.

EDIT: Макет шаблона

<template name="basicLayout">

    {{> yield region='header'}}
    <div class="container">
        <div class="row">
            <div class="col-md-12 col-centered padding-top-four-em">
                {{> yield}}
            </div>
        </div>
        <hr>
        <footer>
            {{> yield region='footer'}}
        </footer>
    </div>
</template>

EDIT 2: шаблон формы SignUp

<template name="signUp-form">
    <div class="col-md-12 signup-container">
        {{>signUpSideBar}}
        <div class="col-md-9 signup-content gray-border-box">
            {{> yield region='signup-detail'}}
        </div>
    </div>
</template>

Примечание. Шаблон signUp-формы имеет область signup-detail. Здесь мой маршрут signUpInfo должен отобразить шаблон information в этом регионе. Это использовалось для работы в ИК до интеграции с пламенем.

4b9b3361

Ответ 1

Я не знаю, что это отличный способ сделать. Но это работает для меня.

route.js

Router.route('/', function () {

    // use the template named ApplicationLayout for our layout
    this.layout('ApplicationLayout');

    // render the Post template into the "main" region
    // {{> yield}}
    this.render('Post');

    // render the PostAside template into the yield region named "aside" 
    // {{> yield "aside"}}
    this.render('PostAside', {to: 'aside'});

    // render the PostFooter template into the yield region named  "footer" 
   // {{> yield "footer"}}
   this.render('PostFooter', {to: 'footer'});
});

ApplicationLayout.html

<template name="ApplicationLayout">
    <header>
        <h1>{{title}}</h1>
    </header>

    <aside>
        {{> yield "aside"}}
    </aside>

    <article>
        {{> yield}}
    </article>

    <footer>
        {{> yield "footer"}}
    </footer>
</template>

main.html

<template name="Post">
    <p>
        {{post_content}}
    </p>
</template>

<template name="PostFooter">
    Some post specific footer content.
</template>

<template name="PostAside">
    Some post specific aside content.
</template>

Ответ 2

Похоже, что ваш {{> yield region='signup-detail'}} не находится в вашей таблице yieldTemplate, поэтому маршрутизатор не может найти регион регистрационной детали, чтобы вставить ваш шаблон информации.

{{> yield}} в вашем yieldTemplate отображается "signUp-form" (из вашего назначения template: в вашем маршруте.

Если ваш шаблон "signup-detail" является шаблоном внутри "signUp-form", просто используйте {{> signup-detail}}.

Если вы хотите, чтобы "signup-detail" повторно использовалась для нескольких шаблонов в качестве части шаблона layoutTemplate, добавьте {{> yield region='signup-detail'}} в свой шаблон yieldTemplate.