クラス
VueComponentLoader
Conditional Vue component loader
ソース ソース
ファイル: src/Components/VueComponentLoader.php
class VueComponentLoader implements JsonSerializable { /** * Vue component object * * @var VueComponent */ private $component; /** * Whether to load the component or not * * @var bool */ private $load; /** * Constructs a loader object * * @author Evan D Shaw <evandanielshaw@gmail.com> * @param VueComponent $component * @param bool $load * @return void */ public function __construct(VueComponent $component, $load) { $this->component = $component; $this->load = $load; if ($this->load === true) { $this->component->init(); } } /** * Returns `true` if component should be loaded, `false` otherwise. * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return bool */ public function shouldLoad() { return $this->load; } /** * Returns `VueComponent` instance. * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return VueComponent */ public function getComponent() { return $this->component; } /** * Displays component template if `load` is true * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return void */ public function templateIfLoad() { if ($this->load === true) { $this->component->template(); } } /** * Returns JSON representation of this object * * Useful for passing component meta data to JavaScript * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return array */ public function jsonSerialize() { return [ 'name' => $this->component->getComponentName(), 'load' => $this->load, ]; } }
- __construct — Constructs a loader object
- getComponent — Returns VueComponent instance.
- jsonSerialize — Returns JSON representation of this object
- shouldLoad — Returns true if component should be loaded, false otherwise.
- templateIfLoad — Displays component template if load is true