如何在Laravel-5中将变量传递给JavaScript?
发布时间:2020-12-14 19:58:04 所属栏目:大数据 来源:网络整理
导读:有没有什么方法可以让JavaScript从小型控制器Laravel-5中获得变量? 代码如下: $langs=Language::all();returnView::make(NAATIMockTest.Admin.Language.index,compact(langs)); publicfunctioncreate(){$names=$this-initLang();Javascript::put([langs=$n
有没有什么方法可以让JavaScript从小型控制器Laravel-5中获得变量? 代码如下: $langs = Language::all(); return View::make('NAATIMockTest.Admin.Language.index',compact('langs')); public function create() { $names = $this->initLang(); Javascript::put([ 'langs' => $names ]); return View::make('NAATIMockTest.Admin.Language.create',compact('names')); } public function edit($id) { // $lang = Language::findOrFail($id); $names = $this->initLang(); Javascript::put([ 'langs' => $names ]); return View::make('NAATIMockTest.Admin.Language.edit', compact('lang')); // return View::make('NAATIMockTest.Admin.Language.edit'); } 视图创建: @extends('AdLayout') @section('content') < script type="text/javascript"> var app = angular.module('myApp', []); app.controller('langCtrl', function($scope) { $scope.languages = langs; }); </script> <div class="container-fluid" ng-app="myApp" ng-controller="langCtrl"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <div class="panel panel-default"> <div class="panel-heading"> <h2>Create language </h2> </div> <div class="panel-body"> {!! Form::open() !!} <p class="text-center"> {!! Form::label('Name','Language: ') !!} <input type="text" name="searchLanguage" ng-model="searchLanguage"> </p> <select name="Name[]" multiple size="10" ng-model="lang" ng-click="show()"> <option value="@{{v}}" ng-repeat="(k,v) in languages | filter:searchLanguage"> @{{v}} </option> </select><br> <div class="text-center"> {!! Form::submit('Create',['class'=>'btn btn-primary']) !!} {!! Html::linkAction('NAATIMockTestLanguageController@index', 'Back', null, array('class' => 'btn btn-primary')) !!} </div> {!! Form::close() !!} </div> </div> </div> </div> </div> @endsection 视图编辑: @extends('AdLayout') @section('content') <script type="text/javascript"> var app = angular.module('myApp', []); app.controller('langCtrl', function($scope) { $scope.languages = langs; }); </script> <div class="container-fluid" ng-app="myApp" ng-controller="langCtrl"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <div class="panel panel-default"> <div class="panel-heading"><h2>Edit #{{ $lang->id}}</h2></div> <div class="panel-body"> {!! Form::model($lang) !!} {!! Form::label('Name','Language: ') !!} {{ $lang->Name }} <!-- {!! Form::text('Name',null,['disabled']) !!}<br> --> {!! Form::hidden('id') !!}<input type="text" name="searchLanguage" ng-model="searchLanguage"> </p> <select name="Name[]" size="10"> <option value="@{{v}}" ng-repeat="(k,v) in languages | filter:searchLanguage"> @{{v}} </option> </select><br> <div class="text-center"> {!! Form::submit('Update',['class'=>'btn btn-info']) !!} {!! Html::linkAction('NAATIMockTestLanguageController@index', 'Back', null, array('class' => 'btn btn-primary')) !!} </div> {!! Form::close() !!} </div> </div> </div> </div> </div> @endsection 配置文件夹中的javascript.php: <?php return [ /* |-------------------------------------------------------------------------- | View to Bind JavaScript Vars To |-------------------------------------------------------------------------- | | Set this value to the name of the view (or partial) that | you want to prepend all JavaScript variables to. | */ 'bind_js_vars_to_this_view' => 'footer', 'bind_js_vars_to_this_view' => 'NAATIMockTest.Admin.Language.create', 'bind_js_vars_to_this_view' => 'NAATIMockTest.Admin.Language.edit', /* |-------------------------------------------------------------------------- | JavaScript Namespace |-------------------------------------------------------------------------- | | By default, we'll add variables to the global window object. However, | it's recommended that you change this to some namespace - anything. | That way, you can access vars, like "SomeNamespace.someVariable." | */ 'js_namespace' => 'window',]; 解决方法试试以下方法: <script> var sampleTags = []; @foreach ($services as $service) sampleTags.push('{{ $service->name }}'); @endforeach</script> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |