如何使用laravel和angularjs路由?

时间:2015-03-30 11:46:32

标签: php angularjs

我正在使用laravel php框架执行代码,我希望angularjs为我处理路由。我在这里有一个例子:http://embed.plnkr.co/dd8Nk9PDFotCQu4yrnDg/preview它向我展示了如何使用angularjs路由方法在页面之间进行交换,但它们使用简单的.html文件来呈现内容。这是我在互联网上找到的一个样本。

此外,在laravel它有自己的路线。如何引导angularjs路由器调用laravel路由并在从数据库中获取内容后相应地呈现页面?我是Angularjs的新手。谢谢。

1 个答案:

答案 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>

或您的本地依赖项。

  1. 在公用文件夹中,您可以创建名为“js”的文件夹,另一个名为“templates”的文件夹。

  2. 在“js”文件中,创建“app.js”,“controller.js”等。(不要忘记将它们包含在index.php中)

  3. 在“templates”文件夹中,您将创建模板html。在您给出的示例中,它们是“home.html”,“about.html”,“contact.html”

  4. 在索引页面中,您可以在此处执行角度路由。
    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'
            });
    });