Я думаю, что вы захотите сохранить все данные о ваших кнопках в массиве, вот краткий обзор того, что вы, вероятно, хотите сделать.
Я отредактировал фрагмент для отслеживания индексаа также отслеживать, какой проект, и buttonType активен.Общая концепция заключается в том, что вам нужно отслеживать, какой проект «активирован», и вам понадобится механизм для изменения того, какой проект активен.
data () {
return {
activeProject: 0,
activeButton: 'start',
projects: [
{
name: 'one',
active: true
},
{
name: 'two,
active: false
}
],
buttons: [
{
color: 'green',
active: true,
icon: 'play_arrow',
type: 'start'
},
{
color: 'blue',
active: false,
type: 'stop'
}
]
}
},
methods: {
startStop (projectId) {
this.buttons.forEach((button) => {
if (button.type !== activeButton) {
button.active = true
} else {
button.active = false
}
})
},
activateProject (index) {
this.activeProject = index
}
}
<v-flex v-for="(project, index) in projects"
:key="project.id" xs4>
<v-card>
<v-card-title>
<span class="headline">{{ project.name }}</span>
<v-spacer></v-spacer>
<v-btn v-for="button in buttons"
v-if="button.active && activeProject === index"
:color="button.color"
v-model="button.active"
@click="startStop()">
<v-icon v-if="button.type === 'start'">play_arrow</v-icon>
<stopwatch v-else />
</v-btn>
</v-card-title>