angularjs - 使用 Laravel 和 AngularJS 的 RESTful API

标签 angularjs rest laravel

我想弄清楚一些事情。大多数时候,我创建 RESTful API 的方式是执行如下操作:

路线:

Route::get('/news', 'NewsController@show');

Controller :

class NewsController extends Controller
{
    public function show()
    {
        $news= News::all();

        return view('newsview', compact('news'));
    }
}

Blade :

@foreach ($news as $n)
<li> {{$n->title}} {{$n->author}}</li>
@endforeach

现在,我正在尝试学习 AngularJS。我在网上看到一些教程的方式是,他们使用 AngularJS 作为 front-endLaravel 作为 back-end。现在我看到了这样的东西:

路线:

Route::get('/news', 'NewsController@show');

Controller :

class NewsController extends Controller
{
    public function show()
    {
        return News::all();
    }
}

HTML/JS:

<div ng-app="myApp" ng-controller="newsCtrl"> 

<ul>
  <li ng-repeat="x in news">
    {{ x.title + ', ' + x.author }}
  </li>
</ul>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('newsCtrl', function($scope, $http) {
    $http.get("/news")
    .success(function(response) {$scope.news = response.records;});
});
</script>

用一个到另一个有什么好处?我对使用 AngularJS 非常感兴趣。

最佳答案

使用 AngularJS 可以帮助您使用单页应用程序 (SPA) 创建一个相对更丰富的 UI,用户可能会发现它的响应速度可能更快。仅使用 Laravel/PHP,您的客户端会注意到页面重新加载。使用 AngularJS,用户可能不需要离开当前页面。在我看来,这是一个微小的优势。

另一方面,使用 AngularJS 需要您学习 AngularJS。看来您已经感兴趣了,所以学习会很有趣。 AngularJS 的学习曲线可能有点陡峭,然后您将维护 Laravel 和 AngularJS 供应商代码库(我的意思是升级)。所以这是一个小缺点。

使用 AngularJS 时,您可能会想利用 Laravel 或任何仅提供 RESTful 接口(interface)并允许 AngularJS 处理所有 UI 渲染的框架的策略。如果您以后决定删除对 PHP 的依赖并使用 Python,您当然可以 - 只需允许 Python 为 RESTful 端点提供服务。

关于angularjs - 使用 Laravel 和 AngularJS 的 RESTful API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32546253/

相关文章:

javascript - 如何更改 Angular Material 中选定选项卡的下划线颜色?

java - RxJava 和 Retrofit 链接来自不同服务和条件的多个调用

ubuntu - 启用互联网时,本地 SSH 速度非常慢(Vagrant/Laravel Homestead)

javascript - 在AngularJS中使用routeParams创建templateUrl

angularjs - Stormpath 是否允许 CORS 支持 Springboot + AngularJS 架构?

javascript - AngularJS中如何根据部门给员工加薪?

php - 在 Laravel 中进行数据库调用时,如何将多个列分组到一个对象中?

java - Spring Data Rest 的 url 格式为/foo/{id}/bar

java - 登录后在REST中提取JSESSIONID

php - 如何根据我的网站收到的电子邮件在数据库中创建记录?