【问题标题】:Laravel + Angular - Page not loadingLaravel + Angular - 页面未加载
【发布时间】:2014-04-13 22:34:40
【问题描述】:

我开始使用 laravel 构建一个新应用程序,并决定尝试 angular.js。 所以我将使用一种混合方法,其中登录是在 Angular 之外进行的,然后我有一个主页,我想在其中使用 Angular 加载模板。

我在加载视图部分卡住了 angular。控制台中未显示任何错误,并且模板也未加载。

这是我的 routes.php 文件:

// Login routes here
   ...    
// Routes protected by auth filter  
Route::group(['prefix' => 'admin', 'before' => 'auth'], function(){

   Route::get('/', 'AdminPagesController@main'); // Main Page
   Route::resource('documents', 'DocumentsController'); 

});

app/views/admin/layouts/master.blade.php 文件:

<html ng-app="intern">
 <head>
  ...
 </head>
   <body>

    <div ng-view=""></div>

    {{ HTML::script('js/vendor/angular.min.js') }}
    {{ HTML::script('js/vendor/angular-route.min.js') }}
    {{ HTML::script('js/admin/app.js') }}
    {{ HTML::script('js/admin/controllers/documentsController.js') }}

  </body>
</html>

public/js/admin/app.js

'use strict';
 var intern = angular.module('intern', ['ngRoute'], function($interpolateProvider) {
    $interpolateProvider.startSymbol('<%');
    $interpolateProvider.endSymbol('%>');
});

intern.config(function($routeProvider) {
  $routeProvider
     // route for the home page
     .when('/admin', {
        templateUrl : 'app/views/admin/documents/index.php',
        controller  : 'documentsController'
      });

     $routeProvider.otherwise({templateUrl:'app/views/admin/documents/index.php'});
  });

public/js/admin/controllers/documentsController.js(暂时没有什么)

intern.controller('documentsController', ['$scope', function(scope){

}]);

最后是我的模板: app/views/admin/documents/index.php

<div>
   <h1>index documents</h1>
</div>

我做错了什么?如果你们需要更多信息,请告诉我。 在此先感谢:)

【问题讨论】:

    标签: javascript php angularjs laravel single-page-application


    【解决方案1】:

    您必须将您的模板放入公用文件夹,因为无法通过浏览器的请求访问应用文件夹。或者,您可以为模板编写路线(我认为不推荐)

    无论如何,您应该在网络控制台中看到一个错误 (404) 导致模板无法加载

    【讨论】:

    • 你是对的。谢谢你。还有一件事,您如何看待这种将登录与 Angular 分开的方法?我可以根据角色限制用户访问使用 laravel 过滤器加载 angular.js 的页面吗?再次感谢 Fuzzyma。
    • 我仅在 2 周前使用了这种方法,因为我喜欢 laravel 提供的 auth-Methods。我认为这并不重要,但我仍然喜欢使用 php 进行登录。为了保护受限制的内容,您必须记住,您从服务器获取数据的所有请求都通过 laravel 路由和过滤器进行限制。由于原始视图中很少包含受限数据,因此可以将视图存储在公用文件夹中。
    • 感谢您的建议。你真的帮了很多忙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    相关资源
    最近更新 更多