• +91 9723535972
  • info@interviewmaterial.com

Vue JS Interview Questions and Answers

Question - Why should not use if and for directives together on the same element?

Answer -

It is recommended not to use v-if on the same element as v-for. Because v-for directive has a higher priority than v-if.

There are two cases where developers try to use this combination,

To filter items in a list
For example, if you try to filter the list using v-if tag,

 
       
          v-for="user in users"
          v-if="user.isActive"
          :key="user.id"
        >
          {{ user.name }}
       
  •  
    This can be avoided by preparing the filtered list using computed property on the initial list

      computed: {
        activeUsers: function () {
          return this.users.filter(function (user) {
            return user.isActive
          })
        }
      }
      ...... //
      ...... //
     
         
            v-for="user in activeUsers"
            :key="user.id">
            {{ user.name }}
         
    •  
      To avoid rendering a list if it should be hidden
      For example, if you try to conditionally check if the user is to be shown or hidden

       
           
              v-for="user in users"
              v-if="shouldShowUsers"
              :key="user.id"
            >
              {{ user.name }}
           
      •  
        This can be solved by moving the condition to a parent by avoiding this check for each user

         
             
                v-for="user in users"
                :key="user.id"
              >
                {{ user.name }}
             
        •  

          Comment(S)

          Show all Coment

          Leave a Comment




          NCERT Solutions

           

          Share your email for latest updates

          Name:
          Email:

          Our partners