更改网址而不重新加载(angularjs //后续问答)
我试图改变角度而不重新加载页面的网址。
我遇到了这个问题,特别是这个答案:
如果您需要更改路径,请在应用程序文件的.config后添加。 然后你可以做$location.path('/sampleurl', false);
以防止重新加载
app.run(['$route', '$rootScope', '$location', function ($route, $rootScope, $location) {
var original = $location.path;
$location.path = function (path, reload) {
if (reload === false) {
var lastRoute = $route.current;
var un = $rootScope.$on('$locationChangeSuccess', function () {
$route.current = lastRoute;
un();
});
}
return original.apply($location, [path]);
};
}])
但是,当我运行该代码时,我立即得到一个错误和控制台读取。
未捕获的错误:[$ injector:unpr] http://errors.angularjs.org/1.6.2/$injector/unpr?p0=%24routeProvider%20%3C-%20%24route
当我点击我阅读的链接,也许错误是因为你不能通过$ rootScope任何东西,但一个指令或控制器? 有人可以帮我解释发生了什么事吗?
你没有安装ngRoute
:)
上一篇: Changing URL without reloading (angularjs // follow up Q.)