Meteor - 铁路由器:{{> yield}}无效

时间:2014-06-27 07:45:35

标签: meteor iron-router

我的问题是:

1-" {{> yield}}"工作不正常。当我删除" {{> yield}}"从模板,然后模板显示正确。如果我放置" {{> yield}}"在模板中,然后显示空体标签。

2-如果我删除" {{> adlayout}}"从body标签,然后显示空体标签。

我有以下模板代码:

    <head>
    <title>My Metronic</title>

    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
    <meta content="Good Description" name="description"/>
    <meta content="Dave Alex" name="author"/>
    <!-- BEGIN GLOBAL MANDATORY STYLES -->
    <link href="http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700&subset=all" rel="stylesheet" type="text/css"/>
    <link href="assets/global/plugins/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>
    <link href="assets/global/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/>
    <link href="assets/global/plugins/uniform/css/uniform.default.css" rel="stylesheet" type="text/css"/>
    <!-- END GLOBAL MANDATORY STYLES -->
    <!-- BEGIN THEME STYLES -->
    <link href="assets/global/css/components.css" rel="stylesheet" type="text/css"/>
    <link href="assets/global/css/plugins.css" rel="stylesheet" type="text/css"/>
    <link href="assets/admin/layout/css/layout.css" rel="stylesheet" type="text/css"/>
    <link id="style_color" href="assets/admin/layout/css/themes/default.css" rel="stylesheet" type="text/css"/>
    <link href="assets/admin/layout/css/custom.css" rel="stylesheet" type="text/css"/>
    <!-- END THEME STYLES -->

    <link rel="shortcut icon" href="favicon.ico"/>
</head>


<body>
    {{> adlayout }}
</body>


<template name="adlayout">

    {{> adheader}}
    <div class="clearfix"></div>
    <div class="page-container">
        {{> adsidebar}}


        <!-- BEGIN CONTENT -->
        <div class="page-content-wrapper">
            <div class="page-content">
                <!-- BEGIN SAMPLE PORTLET CONFIGURATION MODAL FORM-->
                <!-- END SAMPLE PORTLET CONFIGURATION MODAL FORM-->
                <!-- BEGIN STYLE CUSTOMIZER -->
                <!-- END STYLE CUSTOMIZER -->
                <!-- BEGIN PAGE HEADER-->
                <div class="row">
                    <div class="col-md-12">
                        <!-- BEGIN PAGE TITLE & BREADCRUMB-->
                        {{> adbreadcrumb}}
                        <!-- END PAGE TITLE & BREADCRUMB-->
                    </div>
                </div>
                <!-- END PAGE HEADER-->
                <!-- BEGIN PAGE CONTENT-->
                <div class="row">
                    <div class="col-md-12">
                        Page content goes here  -  22

                        {{>yield}}


                    </div>
                </div>
                <!-- END PAGE CONTENT-->
            </div>
        </div>
        <!-- END CONTENT -->






    </div>
    {{> adfooter}}


</template>

以下是我的路由器设置:

    Router.configure({

    layoutTemplate : 'layout'
});


    Router.map(function(){

        this.route('myHello', {
            path: '/mine',
            controller : 'MyHelloController'
        });

    });

以下是&#34; MyHelloController&#34; :

    MyHelloController = RouteController.extend({

    layoutTemplate: 'adlayout',
    template: 'hello',

    waitOn: function () {
        //return Meteor.subscribe('waitingFor');
    },

    data: function () {
        /*
        data = {waitingFor: 'No wait For'};
        return data;
        */
    },

    onBeforeAction: function () {

    },

    onAfterAction: function () {

    },
    action: function () {
        this.render();
    }


});

有人可以指导我做错了什么以及如何纠正。

1 个答案:

答案 0 :(得分:0)

通过查看Chrome的javascript控制台,您可以了解最新动态。您可能在代码中的某处有异常。由于您尝试显示的路线中涉及的模板存在问题,{{&gt; yield}}将无法渲染。

鉴于您提供的信息究竟是什么错误,很难说清楚。这可能是一个普通的Js错误。

错误可能出现在模板的帮助程序或渲染函数中(如果有的话)。

也可能是您的子模板无法正确呈现或帮助程序中出现错误,例如adfooteradsidebar