2013-10-01 45 views
0

我有路由,看起來像這樣:AngularJS是否需要路線段?

.when "/:locale", 
    templateUrl: "/views/index.html" 
... 
.otherwise redirectTo: "/en" 

的問題是,第一條路線也匹配/。有沒有辦法添加所需的路線段,以便/:locale只有匹配實際上是非空字符串?

我大概可以聽$routeChangeStart並在那裏實施otherwise條件,但如果我可以在一個地方完成所有操作,它會容易得多。

+0

看到這裏回答:http://stackoverflow.com/questions/14216565/how-to-have-wildcards -in-angular-routes –

+0

謝謝,但它並沒有真正回答我的問題。我不是在詢問通配符,而是單個路由段不是可選的。我沒有任何控制器,因爲它只是渲染一個模板,並沒有任何邏輯。 – szimek

+0

它看起來最近在1.2.0 RC2中被破壞了:https://github.com/angular/angular.js/commit/04cebcc133c8b433a3ac5f72ed19f3631778142b#commitcomment-3866914 – szimek

回答

0

看起來它在1.2.0 RC2中被破壞了this提交,並且已經有一個pull request來修復它,它將在1.2.0 RC3中着陸。

+0

這就是生活在當你生活在流血的邊緣。 –

0

試試這個,對不起,我不明白你的需要,但我希望這將工作

.when "", 
    templateUrl: "/page.html" 
.when "/", 
    templateUrl: "/page.html" 
.when "/:locale", 
    templateUrl: "/views/index.html" 
... 
.otherwise redirectTo: "/"