Я пробовал полдюжины различных способов сделать это, но я не уверен, в чем проблема.
Для начала, вот краткий рисунок того, что я пытаюсь сделать:
Что я хочу: http://prntscr.com/br8xh6
что происходит: http://prntscr.com/br8z8p
Кажется, что происходит то, что мой .row .full-row
отображается дважды, и динамический шаблон не загружается в мой <div class="col-md-10>
, как определено. С чего бы это?
Вот мой текущий код:
<body>
<div class="container full-container">
{{> navbar}}
{{> middle}}
</div>
</body>
<template name="navbar">
...
</template>
<template name="middle">
<div class="row full-row">
<div class="col-md-2 left-bar" style="background:#800000;">
{{> Template.dynamic template=sidebar}}
</div>
<div class="col-md-10">
{{> Template.dynamic template=content}}
</div>
</div>
<!-- </div> -->
</template>
<template name="leftbar">
<div class="row">
<div class="col-md-12">
{{> avatar size="large" shape="circle"}}
</div>
</div>
</template>
<template name="usercard">
<div class="col-md-4">
<div class="thumbnail thumb-dark">
<img src="default.png" alt="...">
<div class="caption">
<h3>Player name</h3>
<p>...</p>
<a href="#" class="btn btn-success" role="button">Join</a>
</div>
</div>
</div>
</template>
<template name="home">
<div class="row">
{{#each playerslooking}}
{{> usercard}}
{{/each}}
</div>
</template>
<template name="find_page">
<div style="height:150px;width:150px;background:blue;">hello</div>
</template>
JS:
FlowRouter.route('/', {
action: function() {
BlazeLayout.render("middle", {sidebar: 'leftbar', content: "home"});
}
});
FlowRouter.route('/find/:_id', {
name: 'postfind.show',
action: function() {
BlazeLayout.render('middle', {sidebar: 'leftbar', content: "find_page"});
}
});
Я несколько раз рефакторил свой код, пытаясь отладить это, так как я не уверен, как BlazeLayout должен работать с вложенными шаблонами.
Все входы оценены, спасибо.