【问题标题】:VueJS Mixins Methods Direct CallVueJS Mixins 方法直接调用
【发布时间】:2018-03-17 11:14:56
【问题描述】:

我正在 VueJS 上测试 Mixins,我有一个问题。有没有办法直接从 Mixins 调用事件而不必在我的methods 中分配它?

MyMixins.js

import Vue from 'vue'

Vue.mixin({
    methods: {
        Alerta(){
            alert('WORK!')
        }
    }
})

app.vue

<template>
   <button v-on:click="AlertaInterno">test</button>
</template>
<script>
   export default{
         methods:{
            AlertaInterno(){
            this.Alerta()
         }
      }
   }
</script>

上面的代码有效。我想知道如何直接调用 mixin 函数,如下所示:

app.vue

<template>
   <button v-on:click="this.Alerta()">test</button>
</template>

谢谢!

【问题讨论】:

    标签: vue.js vuejs2 vue-component mixins


    【解决方案1】:

    是的,您可以直接调用它。 mixin 中的方法合并 与它们“混合”的 Vue 或组件。它们可以像任何其他方法一样被调用。

    console.clear()
    
    const Mixin = {
      methods:{
        Alerta(){
          alert("WORK!")
        }
      }
    }
    
    new Vue({
      mixins: [Mixin],
      el: "#app"
    })
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.4/vue.min.js"></script>
    <div id="app">
     <button @click="Alerta">Alert!</button>
    </div>

    【讨论】:

    • 谢谢你! @clickv-on:click 之间有什么区别?
    • 有时我看到人们在做你所做的事情,@click="alerta" 而不是 @click="alerta()" 使用 () 。这些代码有什么区别?
    • @Johnson @click="alerta"v-on:click="alerta" 的简写。它的工作方式没有区别,它只是保存了几个字符。同样,您可以使用alertaalerta() 调用alerta。如果alerta 带参数,你会想使用alerta(some, parameters)。当没有参数时,您只需要单击处理程序中的函数名称。
    猜你喜欢
    • 2017-01-14
    • 2010-09-05
    • 1970-01-01
    • 2014-07-19
    • 2011-02-07
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多