Skip to content

Instantly share code, notes, and snippets.

@mattstauffer
Created March 3, 2020 15:46
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mattstauffer/c715f0cda8878eed2ef01cccd3ee80f9 to your computer and use it in GitHub Desktop.
Save mattstauffer/c715f0cda8878eed2ef01cccd3ee80f9 to your computer and use it in GitHub Desktop.
Example of logging Laravel Livewiure component state
<script src="{{ asset('js/app.js') }}"></script>
<script>
let logComponentsData = function () {
window.livewire.components.components().forEach(component => {
console.log(component.name);
console.log(component.data);
});
};
document.addEventListener("livewire:load", function(event) {
logComponentsData();
window.livewire.hook('afterDomUpdate', () => {
logComponentsData();
});
});
</script>
@Braunson
Copy link

Braunson commented Oct 16, 2020

Updated version for Livewire 2.x

<script>
    let logComponentsData = function () {
        Livewire.components.components().forEach(component => {
            console.log("%cComponent: " + component.name, "font-weight:bold");
            console.log(component.data);
        });
    };

    document.addEventListener("livewire:load", function(event) {
        logComponentsData();

        Livewire.hook('message.processed', (message, component) => {
            logComponentsData();
        });
    });
</script>

Updated version for Livewire 3.x (untested)

<script>
    let logComponentsData = function () {
        Livewire.components.components().forEach(component => {
            console.log("%cComponent: " + component.name, "font-weight:bold");
            console.log(component.data);
        });
    };

    document.addEventListener("livewire:init", function(event) {
        logComponentsData();

        Livewire.hook('commit', ({ component, commit, respond, succeed, fail }) => {
            logComponentsData();
        });
    });
</script>

@mattstauffer
Copy link
Author

Thanks @Braunson!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment