2013-12-08 3 views
0

Я использую laravel 4 и typeahead.js, но получаю сообщение об ошибке, потому что {{}} разделители совпадают с JQuery.laravel blade template conflict jquery delimiter

<script type="text/javascript"> 
    jQuery(document).ready(function($) { 
    $('#pessoa_id').typeahead([ 
    { 
    name: 'planets', 
    remote: '/sistema/lancamento/pessoa/%QUERY', 
    template: '<p><strong> {{pessoa_id}} </strong> – {{nome}} </p>', 
    ]); 

Любое sugestion?

Спасибо. Элдер

+0

Пока я ответил ниже, это что-то дубликата http://stackoverflow.com/questions/20432935/laravel-4-blade-and-hogan-js-syntax –

ответ

3

Вы можете изменить разделители, как предлагает montogeek, но, вероятно, проще всего добавить его с помощью символа @.

<script type="text/javascript"> 
    jQuery(document).ready(function($) { 
    $('#pessoa_id').typeahead([ 
    { 
    name: 'planets', 
    remote: '/sistema/lancamento/pessoa/%QUERY', 
    template: '<p><strong> @{{pessoa_id}} </strong> – @{{nome}} </p>', 
    ]); 

Laravel не будет пытаться его проанализировать.

http://laravel.com/docs/templates#other-blade-control-structures

+0

Спасибо! Теперь работает отлично – helderam

1

Вы можете изменить разделители клинка в контроллере или в маршруте

Route::get('/', function() 
{ 
    Blade::setEscapedContentTags('[[', ']]'); 
    Blade::setContentTags('[[[', ']]]'); 

    return View::make('home'); 
}); 

Это изменит разделители, которые используют лезвие для этой точки зрения.

Надеюсь, что это поможет!

0

Вы можете использовать синтаксис JSon в файле лопастной, только {{}} и {{{}}} используются для оценки PHP ..

Но у вас есть какой-то плохо отформатированный JSON, который, вероятно, вызывает у вас проблема с совпадением в скобках.

[{ 
    name: "planets", 
    remote: "/sistema/lancamento/pessoa/%QUERY", 
    template: "<p><strong> {{pessoa_id}} </strong> – {{nome}} </p>" 
}] 

EDIT:

После просмотра typeahead.js я вижу, что вам нужно будет изменить разделители согласно @montogeek ответ тоже.

Смежные вопросы