function - 如何使用 vue.js 在 @click 事件上添加两个方法?

标签 function methods vue.js onclick

这是我的代码,我基本上想将 CHANGEBUTTONS 添加到看起来像 @click 的点击事件。

<button @click="enviarform2" value="Delete from favorites" style="font-weight: 700;color:#428bca;margin-left:30px;height:30px;border-radius:4px" name="delete" v-else>Delete from favorites</button>


<script>
new Vue({
  el:'#app',
  data:{
    show: true,
    paletteid : <?=$palette_id;?>,
    action: "add",
    action2: "delete",
    number: ""
  },
  methods: {
           enviarform: function() {
            axios.post('/validarfavorite.php', {
                paletteid: this.paletteid,
                action: this.action
              })
              .then(function (response) {
                console.log(response);
              })
              .catch(function (error) {
                console.log(error);
              });
              this.number = "Yours plus ";
          },
           enviarform2: function() {
            axios.post('/validarfavorite.php', {
                paletteid: this.paletteid,
                action2: this.action2
              })
              .then(function (response) {
                console.log(response);
              })
              .catch(function (error) {
                console.log(error);
              });
              this.number = "Minus yours plus ";
          },
          changebuttons: function() {
            this.show = !this.show;
          }
        }
});
</script>

我已经尝试过方法 1 和方法 2 以及处理程序,但都没有用。希望你知道!

最佳答案

您可以使用 ; (或 comma operator )分隔调用:

<button @click="@click="m1(); m2()">my button</button>

<button @click="@click="m1(), m2()">my button</button>

但是,如果您的代码在多个地方使用,那么最佳实践(“最干净的方法”)是创建第三种方法并改为使用它:

<button @click="mOneAndTwo">my button</button>

演示:

new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue.js!'
  },
  methods: {
    m1: function() { this.message += "m1"; },
    m2: function() { this.message += "m2"; },
    mOneAndTwo: function() {
       /* call two methods. */
       this.m1();
       this.m2();
    }
  }
})
<script src="https://unpkg.com/vue"></script>

<div id="app">
  <p>{{ message }}</p>
  <button @click="m1(); m2()">call two methods using ;</button><br>
  <button @click="m1(), m2()">call two methods using ,</button><br>
  <button @click="mOneAndTwo">call two methods using a third method</button><br>
</div>

关于function - 如何使用 vue.js 在 @click 事件上添加两个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49209834/

相关文章:

ios - Swift 早期函数​​在没有防护的情况下退出 Swift

php - function_exists 返回 false 但声明抛出错误

python - 如何将数据从一个类传递给另一个函数(在 HTMLParser 中)?

python - 你应该只为一行代码使用一个函数吗?

java - 如何递归复制列表?

php - POST 文件和表单数据 Vue + axios

java - 由于返回太早,方法返回错误值

java - 调用实例方法而不指定实例名称

javascript - 无法让我的方法连接 2 个值

javascript - Vue.js 显示从另一个组件调用一个组件