【发布时间】:2016-01-27 20:51:59
【问题描述】:
我有一个使用 Iron:router 包开发的 Meteor 应用程序。我知道我的用户会倾向于重新加载页面,因为每个人都喜欢偶尔这样做。
我的问题是每次重新加载页面时,它都会回到我的 Meteor 应用程序的主页。
有没有办法让应用程序在页面重新加载时保持在原来的路线上?
这是我的路线代码:
Router.configure({
layoutTemplate: 'layout', // Defines the layout template
loadingTemplate: 'loading' // Defines the loading template
});
// Add the dataNotFound plugin, which is responsible for
// rendering the dataNotFound template if your RouteController
// data function returns a false value
Router.plugin('dataNotFound', {
notFoundTemplate: 'dataNotFound'
});
Router.route('/', {
name: 'home',
template: 'home'
});
Router.route('/signup');
Router.route('/login');
Router.route('/recoverpassword');
Router.route('/resetpassword');
以下是与布局相关的所有内容:
<template name="layout">
{{> navigation}}
{{> yield}}
{{> footer}}
</template>
<head>
<title>Ecclesia.Life</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
</head>
<body>
<!-- Dropdown menu script -->
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
</body>
<template name="navigation">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="{{pathFor route='home'}}">Ecclesia.Life</a>
</div>
<div class="navbar-collapse collapse" id="navbar-collapse" aria-expanded="false" style="height: 1px;">
<ul class="nav navbar-nav">
<li><a href="{{pathFor route='home'}}"><span class="glyphicon glyphicon-home"></span> Home</a></li>
<li><a id="qrScanner" href="#" onclick="inDevelopment();"><span class="glyphicon glyphicon-qrcode"></span> QR Scanner</a></li>
<script>
$('#qrScanner').click(function() {
alert("Still in in development");
});
</script>
</ul>
<ul class="nav navbar-nav navbar-right">
{{#if currentUser}}
{{#if isInRole 'admin'}}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="glyphicon glyphicon-cog"></span> Maintenance <span class="caret"></span></a>
<ul class="dropdown-menu">
<li>
<a href="/manageusers"><span class="glyphicon glyphicon-user"></span> Manage Users</a>
</li>
<li><a href="/addqrpage"><span class="glyphicon glyphicon-plus"></span> Add QR Page</a></li>
</ul>
</li>
{{/if}}
<li><a href="/@{{currentUser.username}}"><span class="glyphicon glyphicon-user"></span> {{currentUser.profile.firstName}} {{currentUser.profile.lastName}}</a></li>
<li><a id="logout" href="{{pathFor route='login'}}"><span class="glyphicon glyphicon-log-out"></span> Log out</a></li>
{{else}}
<li><a href="{{pathFor route='login'}}"><span class="glyphicon glyphicon-log-in"></span> Log in</a></li>
<li><a href="{{pathFor route='signup'}}"><span class="glyphicon glyphicon-pencil"></span> Sign up</a></li>
{{/if}}
</ul>
</div>
</div>
</nav>
<template name="footer">
<footer class="footer footer-default">
<div class="container-fluid">
<hr />
<p class="text-muted">Copyright © Ecclesia.Life, 2015.</p>
</div>
</footer>
</template>
【问题讨论】:
-
这听起来很不寻常。你能分享一些代码吗?
-
我刚刚包含了我的路线代码
-
当你重新加载时,你在哪个 url 上把它带回家?
-
全部:/signup、/login 等
-
我正在通过电话发表评论,所以我无法尝试。如果到时候不能解决,明天再做。它不应该发生
标签: javascript meteor reload iron-router page-refresh