【问题标题】:How to handle Laravel routing using AngularJs?如何使用 AngularJs 处理 Laravel 路由?
【发布时间】:2020-05-04 23:49:26
【问题描述】:

我对 Laravel + AngularJs 完全陌生。我想要做的是使用 AngularJs 处理我的 web.php 路由。可能吗?如果是我该怎么做?

【问题讨论】:

    标签: angularjs laravel laravel-routing


    【解决方案1】:

    如果你有一个 SPA 并且你的应用使用 HTML5 历史模式,这应该类似于人们经常结合 Laravel 和 VueJS 路由的方式。

    您通常会将所有非 Angular 路由放在 routes/web.php 的顶部,然后是您的 SPA 的“包罗万象”路由。这种“包罗万象”的路线基本上是一条不在乎路线长什么样的路线;它只会将其发送到 AngularJS 应用程序。

    类似于this answerthis article 你的routes/web.php 可能看起来像:

    Route::resource('Videos', 'VideoController')->middleware('auth','isAdmin');
    Route::resource('Categories', 'CategoriesController')->middleware('auth');
    ...
    Route::get('/{angularjs_capture?}', function () {
     return view('angularjs.index');
    })->where('angularjs_capture', '[\/\w\.-]*');
    

    然后您将在 /resources/views/angularjs/index.blade.php 看到一个视图,其中包含您的 SPA 的基本 HTML。

    【讨论】:

    • 非常感谢您的回复@Delena Malan。我在我的应用程序中想要的是,如果用户点击一个链接,它不应该重新加载页面,而是在 ng-view 中呈现页面。我可以这样做吗?如何做?
    • 是的,看看ngRoute。它应该做你想要的:)
    猜你喜欢
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 2018-05-17
    • 2019-01-21
    相关资源
    最近更新 更多