我正在使用laravel php框架执行代码,我希望angularjs为我处理路由。我在这里有一个例子:http://embed.plnkr.co/dd8Nk9PDFotCQu4yrnDg/preview它向我展示了如何使用angularjs路由方法在页面之间进行交换,但它们使用简单的.html文件来呈现内容。这是我在互联网上找到的一个样本。
此外,在laravel它有自己的路线。如何引导angularjs路由器调用laravel路由并在从数据库中获取内容后相应地呈现页面?我是Angularjs的新手。谢谢。
答案 0 :(得分:3)
有几种方法可以实现目标,但您不再使用刀片。在这里,我只是解释最简单的方法。
1.在routes.php中创建一个index.php(而不是index.blade.php),你有:
Route::get('/', function()
{
return View::make('index');
});
它将返回索引页面。
在index.php中,请包含
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script>
<script src="http://code.angularjs.org/1.2.3/angular-route.js"></script>
或您的本地依赖项。
在公用文件夹中,您可以创建名为“js”的文件夹,另一个名为“templates”的文件夹。
在“js”文件中,创建“app.js”,“controller.js”等。(不要忘记将它们包含在index.php中)
在“templates”文件夹中,您将创建模板html。在您给出的示例中,它们是“home.html”,“about.html”,“contact.html”
在索引页面中,您可以在此处执行角度路由。
app.js:
var app = angular.module('app', [ 'ngRoute' ]);
app.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl : 'templates/home.html',
controller : 'mainController'
})
.when('/about', {
templateUrl : 'templates/about.html',
controller : 'aboutController'
})
.when('/contact', {
templateUrl : 'templates/contact.html',
controller : 'contactController'
});
});