angularjs - 使用 Laravel 将部分 html 模板加载到 Angular 应用程序中

标签 angularjs rest laravel laravel-routing

我正在尝试在 Angular 中使用 RouteProvider 功能。应根据用户是否正在编辑表单、查看已完成条目的列表等来加载不同的部分 html 模板。我无法在同一页面中加载 html 模板。相反,用户会被重定向到不同的页面。

这是相关的 Angular 代码:

.when(/new', {
  controller: 'CreateCtrl'
  templateUrl: 'partials/newform.html'

Laravel 路线:

Route::resource('services', 'ServicesController');

newform.html 文件位于 Laravel 内的 resources/views/partials/newform.html。

关于如何从 Laravel 加载这些部分 html 模板有什么想法吗?

最佳答案

一种方法是引用部分的完整路径

.when('/new', {
   controller: 'CreateCtrl'
   //depending on your path adjust it
   templateUrl: 'partials/newform'

由于您只是使用 .html 而不是 tempalte.blade.php 文件作为模板,因此您应该将其移动到公共(public)文件夹。

更新: 如果你真的不想将模板移出 Laravel 的 View 文件夹

创建一个路由并从那里提供您的 html

Route::group(array('prefix' => 'partials'), function(){

      Route::get('/newform', function()
      {
        return File::get(app_path().'Views/partials/angular.html');
      });
});

注意:我建议你不要将 Laravelc 模板与 Angular 混合,将 Laravel 保留为 REST API,并且你的 Angular 应该分离层。

Here are some Pros and Cons for both approach

关于angularjs - 使用 Laravel 将部分 html 模板加载到 Angular 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28390954/

相关文章:

javascript - 变量未按预期在angularjs中提升

javascript - $watch 不与数据模型工厂一起工作

javascript - 如果在 Angular JS 中未选中复选框,则禁用按钮

java - 我正在尝试使用 HTTPClient 发出简单的身份验证请求,但收到错误

jquery - Select2 v4 如何使用 AJAX 对结果进行分页

javascript - 如果对象属性是另一个对象,则 Angular 隐藏

angularjs - Restangular - 嵌套资源

unit-testing - 如何模拟测试REST客户端?

php - 如何计算表列值并在 Blade 文件 laravel 5.6 中打印

php - (CentOS 6)通过crontab运行Artisan命令导致Reflection异常