2013-11-25 166 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目录中,在一般。但即使我的观点是在部分目录中,我的问题也不会解决。 –