我正在尝试在 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 应该分离层。
关于angularjs - 使用 Laravel 将部分 html 模板加载到 Angular 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28390954/