2015-03-30 9 views
5

Używam frameworka php do wykonywania kodu i chcę, aby angulary obsłużyły routing dla mnie. Mam tutaj przykład: http://embed.plnkr.co/dd8Nk9PDFotCQu4yrnDg/preview, który pokazuje mi, jak przełączać się między stronami za pomocą metod routingu angularjs, ale używają prostych plików .html do renderowania treści. Jest to próbka znaleziona w Internecie.Jak używać routingu laravel i angularjs razem?

Ponadto w laravel ma swoje własne trasy. Jak mogę poprowadzić router angularjs do wywołania trasy laravel i odpowiednio wyświetlić stronę po pobraniu zawartości z bazy danych? Jestem nowy w Angularjs. Dziękuję Ci.

+0

Używasz laravel do dostawcy API (a więc zwracając się do niej poprzez REST) ​​lub chcesz laravel do renderowania stron z systemu szablonów ? – Blackus

+0

co byś zasugerował. Jestem zdezorientowany tutaj. Po prostu chcę użyć angluar js, aby po kliknięciu na jakiekolwiek łącza nie przeładowywała strony. i renderuj zawartość w widoku –

+0

Chcesz rozwinąć aplikację frontendową z AngularJS, rozumiem. Ale w jaki sposób używasz Laravel? Umieść Angulara w swoim widoku Laravel (mam nadzieję, że nie, to bardzo zły pomysł)? – Blackus

Odpowiedz

3

Istnieje kilka metod osiągnięcia celu, ale NIE używasz już ostrza. Tutaj właśnie wyjaśniam najprostszy sposób.
1. utworzyć index.php (nie index.blade.php), w routes.php, masz:

Route::get('/', function() 
{ 
    return View::make('index'); 
}); 

To będzie powrót do strony indeksu.
W index.php, dołącz

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script> 
<script src="http://code.angularjs.org/1.2.3/angular-route.js"></script> 

lub lokalnych zależności.

  1. W folderze publicznym można utworzyć folder o nazwie "js", inny folder o nazwie "szablony".

  2. W "js" pliku, tworzy swoje "app.js", "controller.js", itd (Nie zapomnij podać je w index.php)

  3. W folderze "templates" utworzysz szablon html. W swojej podanym przykładzie, są one "home.html", "about.html", "contact.html"

  4. Na stronie indeksu zrobić routing kątową tutaj.
    app.js:

    var app = angular.module('app', [ 'ngRoute' ]); app.config(function($routeProvider) { $routeProvider .when('/', { templateUrl : 'templates/home.html', controller : 'mainController' })

     .when('/about', { 
          templateUrl : 'templates/about.html', 
          controller : 'aboutController' 
         }) 
    
         .when('/contact', { 
          templateUrl : 'templates/contact.html', 
          controller : 'contactController' 
         }); 
    }); 
    
+0

oznacza to, że wszystkie żądania zostaną wysłane na domyślną stronę prefiksu, a następnie będzie obsługiwane przez kątowy? bo jeśli użyjesz rastrowego routera na innej popularnej stronie html, jeśli przekażę kątową trasę do przeglądarki wyszukiwania, to da mi błąd 404 – Kross

Powiązane problemy