Css toogle按钮与Vue.js交替传递两个不同的参数

时间:2018-01-17 16:58:14

标签: javascript vue.js vue-component

我想通过首次点击切换按钮(' A',' C&C)来传递(' A',' B') #39;)在第二个。

我是否需要第三个参数,一个布尔值,来控制切换状态并使用带有2个切换按钮的条件渲染?

                <div class="filter">
                    <div class="filter-inner toggle" v-on:click="search( 'A', 'B')">
                        <label class="switch ">
                        <input type="checkbox ">
                        <span class="slider round "></span>
                    </label>
                    </div>
                </div>

1 个答案:

答案 0 :(得分:1)

v-on:接受任何JavaScript表达式,您可以使用ternary operator

console.clear();

new Vue({
  el: '#app',
  data: {
    firstSearch: true
  },
  methods: {
    search(arg1, arg2) {
      this.firstSearch = false;
      console.log(arg1, arg2);
    }
  }
})
<script src="https://unpkg.com/vue@2.5.13/dist/vue.js"></script>

<body>
  <div id="app">
    <button v-on:click="firstSearch ? search('A', 'B') : search('A', 'C')">Click me</button>
  </div>
</body>

但更好的解决方案是将逻辑外包给方法本身(或创建另一个调用search)。