角度路由,浏览器URL未按预期更新

时间:2016-11-18 21:04:08

标签: javascript angularjs angular-routing route-provider

我有一个角度应用程序,我在应用程序中使用部分视图并使用$ routeProvider进行路由,应用程序托管在服务器中,一切正常。

启动应用的网址类似于http://servername/?instanceId=862gh2g2323238

请注意,启动应用程序需要实例ID,应用程序的主页包含食谱列表

以下是如何设置路线的示例代码

app.config(function($routeProvider) {
    $routeProvider
    .when("/", {
        templateUrl : "views/view_index.html",
        controller : "mainCtrl"

    })
    .when("/recipe/:index", {
        templateUrl : "views/view_recipe.html",
        controller : "recipeCtrl"   

    });

在我的view_index.html中我有

<a ng-href= "#recipe/{{index}}" >...

调用配方的相应视图

当我点击任何食谱进入浏览器网址更改为

的详细信息页面时,在浏览器中发出它

网址:// servername /?instanceId = 862gh2g2323238#/ recipe / 0

我希望它像是

http://servername/#/recipe/0?instanceId=862gh2g2323238

请让我知道,我可能会错过什么?

1 个答案:

答案 0 :(得分:0)

"#recipe/{{index}}"相对链接,因此会将其添加到您当前的网址中。如果您想指向绝对网址,则需要从/开始,因此在您的情况下请尝试:

<a ng-href="/#/recipe/{{index}}">...</a>