2016-05-23 22 views
0

我正在使用laravel和angular.js的組合。對於角度,我將interpolateProvider符號更改爲<%%>。對於laravel,我使用標準的{{}}符號。如何將角度變量用於刀片模板中的laravel功能?

現在在我的視圖中使用角度變量,並將其傳遞給laravel中的函數。

我嘗試這樣做:

{{ route('getEdit', ['id' => <% loop.id %>]) }} 

哪裏loop.id是從角的NG-重複。路由是laravel的路由功能。

這給出了一個錯誤:

語法錯誤,意想不到的 '<'

回答

2

不能JavaScript變量傳遞到PHP,你將需要使用Ajax。

創建一個名爲getRoute控制器的動作,post [/get-route/{route}]

PHP

public function getRoute($request, $route) { 
    return route($route, $request->input('params')); 
} 

,並與您的路由名稱此路線和params對象的請求:

的Jquery

$.post('{{ route('getRoute') }}', {params: [{id : loop.id}]}, function(data) { 
    console.log(data); //should output the route with javascript variable loop.id 
}); 

或使用角:

<script> 
    var getRoute = '{{ route('getRoute') }}'; //Define your route inside a PHP file 
</script> 

$http.post(getRoute, {params: [{id : loop.id}]}).then(function(data) { 
     console.log(data); //should output the route with javascript variable loop.id 
}); 
+1

OP: 「對於角度我改變了interpolateProvider符號<% %>」。我認爲他們已經這樣做了。 –