避免AngularJS和Laravel路由冲突

时间:2015-01-22 12:27:10

标签: angularjs

使用两种语言创建应用程序,ng用于FrontEnd,然后Laravel从后端提供请求。现在,鉴于这两种语言都有路由,我如何避免路由冲突?在我的routes.php我有:

 Route::get('/', function()
{
    return View::make('index');
});

Route::group(array('prefix'=>'api'), function()
{
    return Route::resource('students','StudentController');
});

App::missing( function($exception) {
    return Redirect::to( '/' );
});

app.js这样的事情:

var studentApp = angular.module('studentApp', ['controllers', 'studentService','ngRoute']);
studentApp.config(['$routeProvider',function($routeProvider) {
$routeProvider
.when('/', {
    controller: 'MainController',
    templateUrl: '/partials/list.html'
    })
.when('/add', {
    controller: 'StudentController',
    templateUrl: '/partials/add.html'
    })
.otherwise({redirectTo: '/'});
}]);

当我尝试使用上述内容时,没有任何工作。我想知道这两种类型的路由是否存在冲突。或者将两种航线混合在一起的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

众所周知,您可以在后端使用Laravel和后端使用AngularJS构建应用程序 - 并且不会发生路径冲突。
Angular在主URL和自己的URL路由段之间使用了一个#标签,浏览器没有检测到它作为路由更改(因此不会触发服务器端请求),但angular会响应。
我不确定与HTML5 mode的路由兼容性,但你没有启用它,所以我不担心。

资源

这里有3个资源可以帮助我找出如何一起设置AngularJS和Laravel。

您当前的问题

我会建议您的应用无法正常工作的原因是出于其他原因