Home >Web Front-end >Vue.js >How to render dynamic components in vue
There are two ways to render dynamic components in Vue.js: use the is attribute to specify the name of the component to be rendered based on conditions. Using the <component> tag, components can be loaded and rendered asynchronously.
Dynamic component rendering method in Vue.js
In Vue.js, dynamic component rendering means based on Conditions or data to select and render components. There are two main ways to achieve dynamic component rendering:
1. is
Attribute
is
The attribute is specified to be in The name of the component rendered at the current element's position. It can be used in templates like this:
<code class="html"><component :is="componentName"></component></code>
where:
componentName
is the name of the component to be rendered. The :is
attribute is used with the dynamic directive v-bind
to bind a component name to reactive data. 2. <component>
Tags
<component>
Tags allow dynamic import and rendering components. It has a is
property, which is similar to the is
property, but it can also specify the ability to load components asynchronously.
The syntax is as follows:
<code class="html"><component :is="componentName"></component></code>
Where:
componentName
is the name of the component to be rendered or the component after asynchronous loading. The :is
attribute is used with the dynamic directive v-bind
to bind a component name to reactive data. Choose method
Which method to choose depends on the specific needs:
is
attribute is more direct and simple. <component>
tag is a better choice. Example
Suppose we have a ComponentA
and ComponentB
component and want to showComponent based on
Data attributes dynamically render these two components.
Useis
Attribute:
<code class="html"><div> <component :is="showComponent ? 'ComponentA' : 'ComponentB'"></component> </div></code>
Use<component>
Tag:
<code class="html"><div> <component :is="showComponent ? ComponentA : ComponentB"></component> </div></code>
The above is the detailed content of How to render dynamic components in vue. For more information, please follow other related articles on the PHP Chinese website!