VueJS - Swap component on click

后端 未结 1 1270
南笙
南笙 2021-02-14 12:43

In my application I have many buttons. When I press it the button I would like to load a template (that replaces the selected button):

Templates:

Vue.com         


        
1条回答
  •  日久生厌
    2021-02-14 13:37

    You need to bind a variable to :is property. And change this variable on button click. Also you will need to combine it with some v-show condition. Like so:

    new Vue({
      el: 'body',
      data: {
        currentComponent: null,
        componentsArray: ['foo', 'bar']
      },
      components: {
        'foo': {
          template: '

    Foo component

    ' }, 'bar': { template: '

    Bar component

    ' } }, methods: { swapComponent: function(component) { this.currentComponent = component; } } });

    Here is quick example:

    http://jsbin.com/miwuduliyu/edit?html,js,console,output

    0 讨论(0)
提交回复
热议问题