如何获取模板来替换现有模板而不是附加模板?

时间:2015-09-03 23:27:39

标签: javascript html templates meteor iron-router

我正在尝试从我的主页导航到我的Meteor应用程序中的另一个页面(模板)。

我安装了iron:router包并添加了以下代码:

首先,我的html文件中的这个模板(占位符内容):

<template name="scheduleOpenExisting">
    <h2>Open Existing Schedule</h2>
</template>

然后在我的.js文件中:

Router.route('/scheduleOpenExisting');

...最后到菜单项:

<li><a href="{{pathFor route='scheduleOpenExisting'}}">Open Existing</a></li>

...我改变了:

<li> <a href="#">Open Existing</a>

当我选择该菜单项时,它会将网址从http://localhost:3000/更改为http://localhost:3000/scheduleOpenExisting,但它会将scheduleOpenExisting模板附加到页面底部,而不是导航到新页面,或者以Ajaxy方式替换现有内容。

那么如何让scheduleOpenExisting模板替换而不是附加到“主页”?

更新

我还没来得及测试它(这是一个家庭项目,我不得不去上班),但是我将所有代码从单个.html和.js文件移到了不同​​的地方:< / p>

Scheduler
    Client (folder)
        main.html (moved the two templates from scheduler.html for the "first page" here)
        main.js (moved the .isClient code from scheduler.js here)
        Templates (folder)
            openExistingSchedule.html (contains a template; will add more later, as the project grows)
    Server (folder)
        scheduler.js (moved the .isServer code here)

...并且会看到它是否仍然有效,并以这种新项目结构的方式运作。

更新2

它仍然做同样的事情,即使使用改进后的结构 - 模板也会插入页面底部。

尽管如此,在将创建的文件全部移动之后,Meteor仍然可以正常运行。其他环境可能会破坏,并在做这样的事情时抛出误导的错误消息。

更新3

在\ client \ main.html中,我有这个:

<head>
    <TITLE>Crew Scheduler</TITLE>
</head>

<body TEXT="#000000">

<div class="container">
    {{> mnuScheduler}}
    {{> tblScheduler}}
</div>

</body>

<template name="mnuScheduler">
    <ul class="top-level-menu">
        <li> <a href="#">Schedules</a>
            <ul class="second-level-menu">
                <li><a href="{{pathFor route='scheduleOpenExisting'}}">Open Existing</a></li>
 . . .<template name="tblScheduler">. . .

在\ client \ templates \ openExistingSchedule.html我有这个:

<template name="scheduleOpenExisting">
    <h2>Open Existing Schedule</h2>
</template>

...在\ client \ routing.js我有这个:

Router.route('/scheduleOpenExisting');

0 个答案:

没有答案