Рубрики
Без рубрики

Интеграция Angularjs в Laravel 5.1

Вот пошаговое руководство для интеграции Angularjs и Laravel 5.1.

Автор оригинала: Gerrit van Huyssteen.

Это не учебник о том, почему Angularjs или laravel – лучший выбор для вашего проекта, но очень простые пошаговые инструкции о том, как получить Angularjs, работающие в последнем (во время этой статьи) версия Laravel.

Шаг 1

Начиная с новой установки Laravel 5.1, я буду работать в Ресурсы каталог нашего приложения.

Давайте создадим другую папку внутри Ресурсы называется Сценарии Для домики всех наших сценариев Angularjs. Внутри Сценарии Создайте файл JavaScript под названием app.js.

Наша структура папки теперь выглядит:

resources
 - assets
 - lang
 - scripts
    - app.js
 - views
    - welcome.blade.php

Шаг 2

Мы собираемся использовать глоток для объединения всех наших сценариев Angularjs в небольшой файл (который будет добываться в производстве) и переместить его в Maravel’s публичный файл.

Вот как мы это делаем:

var elixir = require('laravel-elixir');

elixir(function(mix) {

    // Application Scripts
    mix.scripts([
        '../../../resources/scripts/app.js'
    ], 'public/js/app.js');

});

Шаг 3

Я использую библиотеку дизайна материала Angularjs в моем приложении и включил его в проект, используя Bower. Вот ссылка на документацию по установке IT: https://github.com/angulour/material.

Давайте добавим app.js , создан после прогона глотча, к нашему Добро пожаловать .blade.php файл лезвия, расположенный внутри /Ресурсы/Просмотры/ Отказ Включите его с бирками скрипта непосредственно перед закрытием тега тела.

Зарегистрируйте приложение Angularjs, внесенные поправки на метку открытия тела, как следовать .

Шаг 4.

Поскольку Laravel и Angularjs используют то же самое теги для визуализации данных, мы можем изменить теги angularjs для размещения обоих рамок.

Следующий фрагмент – это содержание app.js.

var app = angular.module('app', ['ngMaterial']);

app.config(function ($interpolateProvider) {

    $interpolateProvider.startSymbol('<%');
    $interpolateProvider.endSymbol('%>');

});

Шаг 5.

Laravel теперь может отправить информацию на страницу, поскольку вы будете в обычном приложении или использовать Angularjs $ HTTP-запросы на ресурсы La Lavavels, чтобы взаимодействовать с Backend Services.

Marross.php.php.

Route::resources('foo', 'FooController');

Bar.js.

app.factory('Bar', function ($http) {

    var getBar = function(){

        $http.post(window.location.protocol + '//' + window.location.hostname + '/foo')
            .success(function(response){
                // Do something with response
            });
            
    };

    return {
        getBar: getBar
    }

});

Заключение

Благодаря использованию контроллеров Angularjs мы можем теперь создавать страницы и/или модули в нашем приложении.