Как сделать обработчик события только при условии?
Возможно несколько решений.
Например, что мешает уже в обработчике смотреть есть ли block.data == true. Передавать  block.data прямо в обработчик  ? И уже в обработчике смотреть  block.data == true?  Если нет - обработчик дальше не работает, если да , то  делает свое дело.
Есть еще возможность присваивать обработчик в зависимости от какого-то условия, т.е<div id="app">
  <button @click="bool ? one() : two()">Click</button>
</div>
Вот пример, где обработчик вешается не на все элементы, а только на те что удовлетворяют условию: snippet
v-on="условие ? { событие: обработчик } : {}"

или (но так vue будет кидать предупреждение, что обработчик "invalid")

v-on="{ событие: условие ? обработчик : null }"