2016-05-23 69 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符号<% %>”。我认为他们已经这样做了。 –