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

Ken*_*Ken 2 rest laravel angularjs laravel-routing

我正在尝试在Angular中使用RouteProvider功能.应该加载不同的部分html模板,具体取决于用户是否正在编辑表单,查看已完成条目的列表等.我无法在同一页面中加载html模板.而是将用户重定向到不同的页面.

这是相关的Angular代码:

.when(/new', {
  controller: 'CreateCtrl'
  templateUrl: 'partials/newform.html'
Run Code Online (Sandbox Code Playgroud)

Laravel路线:

Route::resource('services', 'ServicesController');
Run Code Online (Sandbox Code Playgroud)

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

关于如何从Laravel加载这些部分html模板的任何想法?

Saq*_*eib 5

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

.when('/new', {
   controller: 'CreateCtrl'
   //depending on your path adjust it
   templateUrl: 'partials/newform'
Run Code Online (Sandbox Code Playgroud)

因为你只是使用.html不是tempalte.blade.php文件的模板,你应该将它移动到公共文件夹.

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

创建一个路由并从那里提供你的HTML

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

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

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

这两种方法都有一些优点和缺点