Я не знаю, как передать переменную из home.blade.php Ларавела моему Controller.js AngularJS.
Laravel:
У меня есть home.blade.php с переменной searchid
:
@extends('layouts.default')
@section('content')
<div class="row" ng-app="app">
{{ $searchid }}
<post-controller></post-controller>
</div>
@stop
Эта переменная отправляется контроллером Laravel:
class SearchController extends BaseController {
public function makeSearch($searchid)
{
return View::make('pages.search')->with('searchid', $searchid);
}
}
ANGULARJS:
Мне нужно передать эту переменную в AngularJS контроллер.
У меня есть файл директивы, как это:
app.directive('postController', function()
{
return {
restrict: 'E',
templateUrl: 'templates/search.html'
}
});
И файл контроллера вот так:
app.controller('SearchController', ['$scope', function($scope, $routeParams)
{
console.log($routeParams.search);
$scope.param = $routeParams.search;
}]);
Я не знаю, как передать эту переменную поиск на мой controller.js.
Есть хороший пакет, который сделает почти всю работу за вас. PHP-Варс-To-Js-трансформатор
Однако основным принципом является просто передача переменных в javascript путем создания <script>
тег в вашем представлении и определение переменных JavaScript. Вот пример:
<script type="text/javascript">
var searchId = {{ $searchId }};
</script>
Внимание в зависимости от типа данных вашей переменной вам придется использовать кавычки вокруг нее или даже сериализовать ее с помощью json.
Других решений пока нет …