1

我想在 Vue js 中单击时显示和隐藏按钮。它工作正常。当我单击“显示”按钮时,它将展开并且按钮名称将更改为“隐藏”。然后再次单击隐藏按钮,它将显示没有图像的“显示”按钮。点击前:https ://prnt.sc/p7pjil

单击后(我需要将按钮文本更改为隐藏或其他名称):https ://prnt.sc/p7pj9b

    <div id="app">

      <h1>Click the Button to Show or Hide</h1>
      <button class="btn-primary" v-on:click="isHidden = !isHidden">Click to Show the Images</button>

      <img src="images/7.jpg" v-if="!isHidden">
      <img src="images/8.jpg" v-if="!isHidden">
      <img src="images/9.jpg" v-if="!isHidden">

    </div>

    <script>
    var app = new Vue({
      el: '#app',
      data: {
        isHidden: true
      }
    });
    </script>
4

2 回答 2

2

我猜,你只是想切换文字?你可以使用<template v-if>它。v-if有条件地显示一个元素及其内容。<template>是一个不会在最终 HTML 中呈现的元素,只是它的内容。

<div id="app">

  <h1>Click the Button to Show or Hide</h1>
  <button class="btn-primary" v-on:click="isHidden = !isHidden">
    <template v-if="isHidden">Click to Show the Images</template>
    <template v-else>Click to Hide the Images</template>
  </button>

  <img src="images/7.jpg" v-if="!isHidden">
  <img src="images/8.jpg" v-if="!isHidden">
  <img src="images/9.jpg" v-if="!isHidden">

</div>

<script>
var app = new Vue({
  el: '#app',
  data: {
    isHidden: true
  }
});
</script>

如果您只有一个简单的条件,您也可以使用三元运算符。三元运算符不应与嵌套条件一起使用。

<button class="btn-primary" v-on:click="isHidden = !isHidden">
  {{ isHidden ? 'Click to Show the Images' : 'Click to Hide the Images' }}
</button>
于 2019-09-18T11:37:57.303 回答
1

我认为这应该有帮助

var app = new Vue({
      el: '#app',
      data: {
        isHidden: true
      }
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js"></script>
<div id="app">
<h1>Click the Button to Show or Hide</h1>
      <button class="btn-primary" v-on:click="isHidden = !isHidden">{{ isHidden ? 'Click to Show the Images' : 'Click to Hide the Images' }}</button>
<div>
      <img width="100" src="https://images.freeimages.com/images/large-previews/ffa/water-lilly-1368676.jpg" v-if="!isHidden">
      <img width="100" src="https://images.freeimages.com/images/large-previews/ffa/water-lilly-1368676.jpg" v-if="!isHidden">
      <img width="100" src="https://images.freeimages.com/images/large-previews/ffa/water-lilly-1368676.jpg" v-if="!isHidden">
</div>
    </div>

于 2019-09-18T11:38:16.060 回答