【发布时间】:2015-08-31 13:48:31
【问题描述】:
我正在尝试将 Angular 与 Laravel 5 集成,但无法获取显示索引文件以外页面内容的路由。
它没有在 .when() 下拾取路由,因为我可以更改 templateURL 并且它没有效果。
文件目录如下
public_html --views app.js
App.js
var adminApp = angular.module('adminApp', ['ngRoute']);
// set the routes
adminApp.config(function($routeProvider,$locationProvider) {
$routeProvider
// route for the home page
.when('/', {
templateUrl : 'views/admin/index.html',
controller : 'AdminController'
})
// route for the contact page
.when('/home', {
templateUrl : 'views/admin/home.html',
controller : 'AdminHomeController'
})
.when('/sessions', {
templateUrl : 'views/admin/sessions.html',
controller : 'AdminSessionController'
});
// use the HTML5 History API
$locationProvider.html5Mode(true);
});
// create the controller and inject Angular's $scope
adminApp.controller('AdminController', function($scope) {
// create a message to display in our view
$scope.message = 'This is the admin page!';
});
// create the controller and inject Angular's $scope
adminApp.controller('AdminHomeController', function($scope) {
// create a message to display in our view
$scope.message = 'This is the home page!';
});
// create the controller and inject Angular's $scope
adminApp.controller('AdminSessionController', function($scope) {
// create a message to display in our view
$scope.message = 'This is session page!';
});
索引.html
<html ng-app="adminApp">
<html>
<head>
<base href="/">
<!-- Application Dependencies -->
<!-- CSS -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css">
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css">
<!-- JS -->
</head>
<body ng-controller="AdminController">
<div class="container">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">WebSiteName</a>
</div>
<div>
<ul class="nav navbar-nav">
<li><a href="access/admin"> Base </a></li>
<li><a href="access/admin/home"> Home </a></li>
<li><a href="access/admin/sessions"> Sessions </a></li>
</ul>
</div>
</div>
</nav>
<div ng-view=""></div>
</div>
</body>
<!-- Application Dependencies -->
<script type="text/javascript" src="/bower_components/angular/angular.js"></script>
<script type="text/javascript" src="/bower_components/angular-route/angular-route.js"></script>
<script type="text/javascript" src="/bower_components/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="/bower_components/bootstrap/dist/js/bootstrap.js"></script>
<script type="text/javascript" src="/bower_components/angular-bootstrap/ui-bootstrap.js"></script>
<script type="text/javascript" src="/bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
<script type="text/javascript" src="/bower_components/angular-resource/angular-resource.js"></script>
<script type="text/javascript" src="/bower_components/moment/moment.js"></script>
<!-- Application Scripts -->
<script type="text/javascript" src="/app.js"></script>
</html>
Laravel 路线
Route::group(['prefix' => 'access/admin'], function () {
/* Angular routes*/
Route::any('{path?}', function()
{
return File::get('views/admin/index.html');
})->where("path", ".+");
谢谢
【问题讨论】: