我正在尝试使用铁路由器加载模板,并且没有用于路由加载的模板。单击项目时,URL将更改,但当前页面永远不会更改。
Lib / router.js -
Router.configure({
// we use the appBody template to define the layout for the entire app
layoutTemplate: 'appBody',
// the appNotFound template is used for unknown routes and missing lists
notFoundTemplate: 'appNotFound',
// show the appLoading template whilst the subscriptions below load their data
loadingTemplate: 'appLoading',
// wait on the following subscriptions before rendering the page to ensure
// the data it's expecting is present
waitOn: function() {
return [
Meteor.subscribe('users'),
Meteor.subscribe('roles')
];
}
});
dataReadyHold = null;
if (Meteor.isClient) {
// Show the loading screen on desktop
Router.onBeforeAction('loading', {except: ['join', 'signin']});
Router.onBeforeAction('dataNotFound', {except: ['join', 'signin']});
}
Router.map(function () {
Router.route('home', {
path: '/',
onBeforeAction: function() {
this.next();
},
action: function() {
this.render('home');
}
});
Router.route('adminPanel', {
path: 'adminPanel',
onBeforeAction: function() {
this.next();
},
action: function() {
console.log("hit admin");
this.render('adminPanel');
}
});
});
这两个链接:
<li>
<a href="/"><i class="fa fa-home"> Home</i></a>
</li>
<li>
<a href="/adminPanel"><i class="fa fa-users"> Administration Panel</i></a>
</li>
&#39;家庭&#39;模板非常基础:
<template name="home">
<h1>Welcome </h1>
<h2>Site in development</h2>
</template>
&#39; adminPanel&#39;模板:
<template name="adminPanel">
<h1><i class="fa fa-users"> Administration Panel</i></h1>
{{> addUserModal}}
{{> tabular id="userTable" table=TabTables.Users class="table table-striped table-bordered table-condensed"}}
{{> addRoleModal}}
{{> tabular id="userTable" table=TabTables.Roles class="table table-striped table-bordered table-condensed" }}
{{> autoformModals}}
</template>
如果有帮助,这是文件结构:
.
├── client
│ ├── head.html
│ ├── routers
│ └── templates
│ ├── adminPanel.css
│ ├── adminPanel.html
│ ├── adminPanel.js
│ ├── app-not-found.html
│ ├── app-not-found.import.less
│ ├── appBody.html
│ ├── home.html
│ ├── loading.html
│ └── loading.import.less
├── lib
│ └── router.js
├── public
│ └── images
└── server
└── publish.js
答案 0 :(得分:1)
您无需拨打Router.map
电话。它没有用,你可以看到here。
如果您只是致电onBeforeAction
,也可以省略this.next()
摘要。
但我也是,你的代码看不出任何问题。以下是您可以尝试的一些事情:
subscriptions
是否正常工作> yield
appLoading
模板