2015-11-10 8 views
3

Я создал компонент в экземпляре vue.Как создать динамический компонент динамически

components: { 
     plan: { 
      template: "#suggested-properties", 
      props: ['plan', 'active'], 
      computed: { 
       isActive: function(){ 
        return this.plan.name == this.active.name; 
       } 
      }, 
      methods: { 
       setActivePlan: function(){ 
        var that = this; 
        that.activeParameter= true; 
        this.active = this.plan; 
       } 
      } 
     } 
    } 

Есть ли способ я могу динамически создать экземпляр тех же компонентов, передавая данные, когда я нажимаю на кнопку?

ответ

3

Надеюсь, я правильно понял ваш вопрос, вам просто нужно перебирать массив или так.

data: { 
    numOfComps: 0 
} 

и в вашем HTML:

<component v-for="comp in numOfComps></component> 

проверки скрипка для рабочего примера:

http://jsfiddle.net/gc2t8o5t/

0

Вот решение, если вы не знаете имя компонента заранее

<component v-for="comp in arrayOfCompsString" :is="comp"></component> 

Правильно заменит всю разметку

Смежные вопросы