javascript - 如何在 VueJS 中将对变量的引用传递给方法(而不是变量的值)

标签 javascript vue.js vuejs2 vue-component

在我的模板中,我有这个:

<input @input="myMethod(myVariableName)" />

然后我就有了我的方法

myMethod(variablePassed) {
  console.log(variablePassed)
}

我收到的是“variablePassed”的值(当然)。但是,有没有办法让我查看传递了哪个变量?

最佳答案

是的,您可以通过传递包装在文字对象 {} 内的变量并使用 Object.keys(varname)[0] 获取其名称和 Object.values(varname)[0] 获取其值:

Vue.config.devtools = false;
Vue.config.productionTip = false;

new Vue({
  el: '#app',

  data() {
    return {
      name: "john"
    }
  },
  methods: {
    myMethod(variablePassed) {
      
      console.log(Object.keys(variablePassed)[0])
       console.log(Object.values(variablePassed)[0])
      
    }
  }
})
#app {
  padding: 20px;
}
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>


<div id="app" class="container">
  <input @input="myMethod({name})" class="form-control" />
</div>

关于javascript - 如何在 VueJS 中将对变量的引用传递给方法(而不是变量的值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53933520/

相关文章:

javascript - 另一个 jQuery 选项卡中的 jQuery 选项卡 - OnActivate 事件

javascript - Vuex 操作不等待完成 axios promise

http - 如何在没有任何 vuex 库(axios)的情况下在 vue 回调中获取 http 响应 header

vue.js - 如何为我的 vue 应用程序编写 ajax 端点以从数据库获取数据,同时只允许我的 vue 应用程序调用它们?

jquery - 将 3rd 方 jquery 库与 vueJS 和 webpack 结合使用

php - 在 jQuery 中获取默认服务器时间?

javascript - Array.push.setAnyFormatting ('red')?

javascript - 创建复杂的解析服务器或 mongodb 查询

javascript - 如何在vue模板中定义变量?

javascript - 使用 VueX Store 中的计算属性进行 Ajax 调用的正确方法是什么