扫码关注官方订阅号
AngularJS中使用$location.path,直接跳转不了,但是打印出的路径是对的,要把浏览器最小化后再打开,页面才就成功跳转了,为什么?
$location需要添加在函数参数中,而且$location.path('/url')中括号是需要参数的即你的路径,直接使用$location.path()的话获取的是当前链接的path地址,实现不了跳转的。另外只有规定了路由才可以实现跳转。例子: 当前地址localhost:8000/#/
$location.path() = '';值是空的, 当地址是localhost:8000/#/login $location.path() = '/login';
下面的例子会实现页面跳转:
var app = angular.module("appName",[ngRoute]); app.config(function($routeProvider){ $routeProvider .when('/login',{ templateUrl: 'login.html' //链接对应的html文件 }) .otherwise({ redircTo: '/login' }) }) app.controller('controllerName', function($scope, $location){ $scope.goPath = function(){ $location.path('/login'); //在html中调用这个函数就可以实现跳转 } })
可以参考我的一个demo,git地址:https://github.com/yulei521/shop_transaction_demo,页面之间跳转就是用的路由加$location.path()
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
$location需要添加在函数参数中,而且$location.path('/url')中括号是需要参数的即你的路径,直接使用$location.path()的话获取的是当前链接的path地址,实现不了跳转的。另外只有规定了路由才可以实现跳转。
例子: 当前地址localhost:8000/#/
下面的例子会实现页面跳转:
可以参考我的一个demo,git地址:https://github.com/yulei521/shop_transaction_demo,页面之间跳转就是用的路由加$location.path()