2017-02-20 26 views
-1

В одном из моих компонентов часть шаблона повторяется дважды.Дубликат кода в компоненте vue.js с одним файлом

Можно ли что-то сделать так?

<template> 
    <div> 
     <div v-if='value'> 
     *** code here *** 
     include 'path_to_file.vue.part' 
     </div> 
     <div v-else> 
     ** another code here *** 
     include 'path_to_file.vue.part' 
     </div> 
    </div> 

</template> 
+0

Вы c создать в нем vue-компонент? – Saurabh

+0

Да, я могу, но это будет сложно. Я просто хочу вставить несколько повторяющихся кодов. –

+1

Но создание небольшого компонента - это обычный способ справиться с этим. Что делает его особенно тяжелым? –

ответ

0

Воспользоваться (named) slots:

<slot name="common"></slot> 

Затем в шаблоне вы "импортирующей":

<p slot="common">some</p> 
+0

Нет, этот код сложнее. Он включает в себя другие компоненты. –

+0

@JacksonJ смотреть обновленный ответ. –

0

Вы можете чередовать второй v-if как так:

<template> 
    <div> 
     <div v-if='value'> 
     *** code here *** 
     include 'path_to_file.vue.part' 
     </div> 
     <div v-if='!value'> 
     ** another code here *** 
     include 'path_to_file.vue.part' 
     </div> 
    </div> 

</template>