diff --git a/mithril.js b/mithril.js index f1da83f6..2a0a083d 100644 --- a/mithril.js +++ b/mithril.js @@ -614,6 +614,7 @@ var m = (function app(window, undefined) { } //m.route(route, params) else if (type.call(arguments[0]) === STRING) { + var oldRoute = currentRoute; currentRoute = arguments[0]; var args = arguments[1] || {} var queryIndex = currentRoute.indexOf("?") @@ -623,7 +624,7 @@ var m = (function app(window, undefined) { var currentPath = queryIndex > -1 ? currentRoute.slice(0, queryIndex) : currentRoute if (querystring) currentRoute = currentPath + (currentPath.indexOf("?") === -1 ? "?" : "&") + querystring; - var shouldReplaceHistoryEntry = (arguments.length === 3 ? arguments[2] : arguments[1]) === true || currentRoute === arguments[0]; + var shouldReplaceHistoryEntry = (arguments.length === 3 ? arguments[2] : arguments[1]) === true || oldRoute === arguments[0]; if (window.history.pushState) { computePostRedrawHook = function() {