我正在使用这样的angularJS路由
$scope.add = function(){
window.location = "/testwebsite/contentpanel/#/createbook";
}
现在,在我的一个控制器中,我必须重定向到另一条路线,所以我正在使用
window.location = "/testwebsite/contentpanel/#/wall";
上述代码不起作用。它将我带回默认路线,即
$scope.add = function(){
window.open("/testwebsite/contentpanel/#/createbook");
}
但是,令人惊讶的是,下面的代码可以运行并引导我进入所需的页面
<a href="#" ng-click="add()" class="btn btn-primary">Add New Book</a>
在我的视图图层中,我有一个带有此代码段的html页面
{{1}}
我没有想法。 window.open有效但window.location不起作用。
答案 0 :(得分:0)
而不是
window.location = "/testwebsite/contentpanel/#/createbook";
使用
$location.url('/createbook')
答案 1 :(得分:0)
解决了它。
我改变了
<a href="#" ng-click="add()" class="btn btn-primary">Add New Book</a>
到
<button ng-click="add()" class="btn btn-primary">Add New Book</button>
另外,正如Arnaud Gueras所说,
最好使用
$location.url('/createbook');
而不是
window.location = '/testwebsite/contentpanel/#/createbook';
因为$ location.url仅指定路径的最后部分,其中window.location指定整个路径(当托管更改时可能会更改)