2013-12-08 92 views
0

我使用laravel 4和typeahead.js,但獲取錯誤消息,因爲{{}}分隔符與JQuery相同。laravel blade模板衝突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>', 
    ]); 

任何消化?

謝謝。 埃爾德

+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>" 
}] 

編輯:

看着typeahead.js我看,你將需要改變分隔符爲每@montogeek答案太之後。