Вам нужно будет найти файл, уникальный для этой установки, а затем добавить его в свой тег Requires
, например. /etc/redhat-release-aws
или что-то в этом роде. Если этот файл не существует, он не будет установлен, но что-то вроде yum
также не сможет вам помочь, он, например, не сказал бы: «Для этого RPM требуется AWS». Это просто скажет пользователю, что файл отсутствует.
Если это не определенный файл, вы могли бы написать сценарий и поместить его в раздел %pre
. Не имея AWS, я верю, что есть команда, которую вы можете запустить под названием is_aws
; вы можете заменить это чем-то вроде «grep -iq aws /etc/os-release
»; все, что вернет true / false.
if is_aws; then
true # do nothing
else
echo "This RPM requires AWS!" 1>&2
false
fi
Я на 90% уверен, что скрипт %pre
запущен в режиме «set -e
», где false
приведет к сбою установки. STDOUT
игнорируется в режиме без вербовки, поэтому вам нужно написать STDERR
.
Если вам нужно показать детали по каждому клубу в отдельности, вам нужно установить свойство для каждого клуба отдельно, а не по clubs
; Также используйте Vue.set
для реактивного добавления нового свойства к объекту следующим образом:
const clubs = [
{
name: 'Tigers',
location: 'Manchester',
members: '22'
},
{
name: 'Dolphins',
location: 'Miami',
members: '19'
},
{
name: 'Bleu Sox',
location: 'Paris',
members: '13'
}
];
const app = new Vue({
el: '#app',
data: {
title: 'Here is a list',
clubs
},
methods: {
toggleDetails: function(club) {
this.$set(club, 'showDetails', !club.showDetails)
}
}
});
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
<div id="app">
<ul>
<li v-for="club in clubs" v-on:click="toggleDetails(club)">
<h1>{{club.name}}</h1>
<div v-show="club.showDetails">
<p>{{club.location}}</p>
<p>{{club.members}}</p>
</div>
</li>
</ul>
</div>