Laravel + Angular JS

Рейтинг: 5Ответов: 1Опубликовано: 31.12.2014

Доброго времени суток, всех с наступающим.

Возможно ли заставить работать вместе Angular JS и Laravel? Laravel использует шаблонизатор Smarty, и есть подозрение, что синтаксис Angular JS и Smarty будут конфликтовать. Посоветуйте, пожалуйста, как сделать так, чтобы они мирно существовали, и можно было использовать и то, и то.

Всех с наступающим, всех благ вам в наступающем 2015.

Ответы

▲ 5Принят

Есть 2 решения конфликта фигурных скобок.

1) Универсальное (подходит не только для smarty, но и для twig в Symfony2), с помощью изменения $interpolateProvider:

angular.module('myApp', []).config(function($interpolateProvider){
    $interpolateProvider.startSymbol('[[').endSymbol(']]');
});

С этим кодом нужно будет оборачивать ангуляровские переменные в двойные квадратные скобки, например: [[ $item.name ]].

2) Решение от smarty, тэг {literal}, внутри этого тэга шаблонизатор не интерпретирует код:

{literal}{{ $item.name }}{/literal}