2013-11-25 212 views
2

我有快遞以下性質路由代碼:快速路由與AngularJS路由衝突。

app.get("/profile/:param", function (req, res) 

這與AngularJS提供的路徑路由重合。例如,當加載性質爲/profile/someparam#view1的角度視圖時,新的URL模式被Express(它假定它是/profile/<someparam>類型)拾取。這導致與view1關聯的控制器被無限調用,從而導致頁面崩潰。

我該如何解決這個問題?

回答

0

我能從這裏找到解決方案:AngularJS and ExpressJS routing conflicts。基本上,在角度路由文件中,templateURL需要預先加上'/'。對於例如,在我的角度路由代碼,我不得不改變

$routeProvider.when('/routeName', { 
     templateUrl: 'view1.html', 
     controller:'rcontroller' 
}); 

$routeProvider.when('/routeName', { 
     templateUrl: '/view1.html', 
     controller:'rcontroller' 
}); 
+0

這是常見的做法是把你的模板到一個名爲「諧音」文件夾,裏面有任何衝突的機會不大後端API。看一看[angular-seed](https://github.com/angular/angular-seed/tree/master/app/partials)項目 –

+0

@MichaelTang,是的,我確實把我的觀點放在partials目錄中,在一般。但即使我的觀點是在部分目錄中,我的問題也不會解決。 –