Today I Learned - Rocky Kev

TIL Nestling Data in Vue

POSTED ON:

TAGS:

Best practice to use model in Vue data? Nestled or not?

// EXAMPLE 1: (direct values)
new Vue({
    data() {
        return {
            userName: '',
            userEmail: ''
        }
    }
})

// EXAMPLE 2: (adding a user object)
new Vue({
    data() {
        return {
            user: {
                userName: '',
                userEmail: ''
            }
        }
    }
})

Example 1 is straightforward.

What's happening with Example 2?

Best Practice?
Use nested objects if:

Avoid as possible nesting if:

Example from the blog:

// good reason: properties have nothing in common.
new Vue({
    data() {
        return {
            todos: [],
            isValid: false,
            user: {
                Name: '',
                Email: ''
            }
        }
    }
})

// bad reason: all the properties belong to the user and there's no other properties
new Vue({
    data() {
        return {
            user: {
                Name: '',
                Email: '',
                todos: [],
                isValid: false
            }
        }
    }
})

reference


Related TILs

Tagged:

TIL what is npm Script

Despite their high usage they are not particularly well optimized and add about 400ms of overhead. In this article we were able to bring that down to ~22ms.

TIL fancy methods to transform Javascript Objects

You can use Object.entries(), Object.keys(), Object.fromEntries()...

TIL how to hide your JS code

ONE THING TO NOTE: Encrypting a script is stronger than obfuscation, both methods are still not adequate to protect secret content. Honestly, I don't think it's worth it on a production site, and instead just go with pure server-side if you want security. But it's fascinating.