在节点中,这是我定义细节路线的方式(渲染为jade和send)。
app.get('/details', function(req, res){
jade.renderFile('details.jade', function(err, html){
if(err){
console.log(err);
}
res.send(html);
});
});
在玉中点击'blah'然后用params调用navigateToPath函数。
a(ng-click="navigateToPath(date_obj_key, part)") blah
在角度中,此功能应该转到此路径。 url路径在浏览器中更改,但不会重定向到页面。帮助(是的,我正在注入位置服务)
$scope.navigateToPath = function(date, part){
var path = '/details?date='+date+'&part_type='+part;
$location.path('/details').replace(); //also tried $location.url(path)
$scope.apply(); //also tried $scope.$apply and $rootScope.$apply as func
console.log($location.path());
}
答案 0 :(得分:3)
我正在使用Fire Fox开发人员工具(F12)并在我的项目中使用$ window.location的地方设置了一个断点,并查看了$ window.location中的值以及它显示的内容:
看起来这样可行。对于同一文件夹或子文件夹中的位置以及进入完全不同的网站。
$window.location = $window.location.origin + path
或
$window.location = <whatever website you want to go to>
在我的情况下,我只是使用$ window.location来调用休息服务来下载用户从ui-grid选择的文件,同时仍然停留在同一页面上。这可能对我有用,因为我的情景与你的想法有点不同。所以我所要做的就是
$window.location = "../../services" + "<path to my rest service>" + $scope.shortCode + "/" + $scope.wireInstSelectedRow.entity.fileName;
@shapiro我不确定为什么这不起作用
$location.path('/details').replace();
我最初在我的项目中尝试了相同的东西,并且基于文档:https://docs.angularjs.org/api/ng/service/ $ location看起来这样可以工作,它应该用于什么,但我注意到它会放一个&# 39;#&#39;在它放置我希望它采取的路径之前,URL中的字符阻止它进入该页面。无论如何对我来说似乎只要你去一个html页面,它只是在同一个文件夹或子文件夹中
$window.location = <the path you want to go to>;
是一个很好的解决方案......至少它为我做了诀窍。希望这会有所帮助。