Laravel + Angular - Página não carrega
-
21-12-2019 - |
Pergunta
Estou começando a construir um novo aplicativo com laravel e decidi experimentar o angular.js também.Então estarei usando uma abordagem híbrida onde o login é feito fora do angular e então tenho uma página principal onde quero carregar os templates usando angular.
Fiquei preso na parte de carregamento de visualizações com angular.Nenhum erro é mostrado no console e o modelo também não está carregando.
Este é o meu arquivo 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');
});
Arquivo 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>
público/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 (que não tem muita coisa por enquanto)
intern.controller('documentsController', ['$scope', function(scope){
}]);
e finalmente meu modelo:app/views/admin/documents/index.php
<div>
<h1>index documents</h1>
</div>
O que estou fazendo de errado?Se vocês precisarem de mais informações, por favor me digam.Desde já, obrigado :)
Solução
Você deve colocar seus modelos na pasta pública, pois a pasta do aplicativo não pode ser acessada por solicitação do navegador.Alternativamente, você pode escrever uma rota para os modelos (o que não é recomendado na minha opinião)
De qualquer forma, você deverá ver um erro em seu console de rede (404) porque o modelo não pode ser carregado