vxm / yii2-js-params
Support passed variables to javascript.
Installs: 75
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 3
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- php: ^7.1
- yiisoft/yii2: ~2.0.13
Requires (Dev)
- yiisoft/yii2-smarty: ~2.0.0
- yiisoft/yii2-twig: ~2.0.0
This package is auto-updated.
Last update: 2024-10-21 21:02:04 UTC
README
About it
An extension provide an easy way to passed variables from your server to the JavaScript in rendering process of Yii2 view component.
Requirements
Installation
Require Yii2 JS Prams using Composer:
composer require vxm/yii2-js-params
Usage
You can passed any variables you want when render view with addition jsParams
element in view params:
use yii\web\Controller; class TestController extends Controller { public function actionTest() { return $this->render('test', [ 'jsParams' => [ 'test' => 'vxm' ] ]); } }
And get this data on the frontend side from window.serverParams
:
Note: all variables will passed at View::POS_HEAD please make sure a definition (
$this->head()
) on your layout file.
Global params
Sometime you need to passed some params to all of view file, you can config it in your app config file:
'components' => [ 'view' => [ 'params' => [ 'jsParams' => ['test' => 'vxm'] ] ] ]
Or config an anonymous function:
'components' => [ 'view' => [ 'params' => [ 'jsParams' => function() { return ['identity' => Yii::$app->user->identity->toArray()] } ] ] ]
Now use it on client side:
<script> console.log(window.serverParams.identity); </script>