vue.js - 将数据从输入传递到 vue 的函数

标签 vue.js parameter-passing

我想从输入传递数据:

<input
  id="txtName" 
  type="text"
  v-on:keyup.enter="addMessage(/* THIS FIELD VALUE */)"
/>

方法:

methods: {
  addMessage(name) {
    //stuff
  }
}

我尝试使用 thisthis.value 作为参数,但它不起作用。

我该如何解决?

最佳答案

您可以使用 v-model 将数据属性绑定(bind)到输入,并在您的方法 ( see this fiddle) 中简单地引用它:

<input v-model="message" @keyup.enter="addMessage()"/>
methods: {
  addMessage() {
    this.messages.push(this.message);
  }
}

或者,您可以使用特殊的内联 $event 属性,它为您提供对目标元素值 ( see this fiddle) 的引用:

<input @keyup.enter="addMessage($event)"/>
methods: {
  addMessage(e) {
    this.messages.push(e.target.value);
  }
}

您也不需要显式地将 $event 参数传递给 @ 处理程序。您可以只将方法名称传递给处理程序,第一个参数仍然是 $event 的值。

像这样:

<input @keyup.enter="addMessage"/>
methods: {
  addMessage(e) { // e is the value of $event
    this.messages.push(e.target.value);
  }
}

关于vue.js - 将数据从输入传递到 vue 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45839690/

相关文章:

javascript - Vue.js - 双花括号( mustache )语法不起作用/渲染到页面

c++ - 给模板参数包起别名

javascript - Vue.js 组件在 jsp 文件中不起作用

vue.js - Vue + webpack,字体文件转base64

vue.js - 从组件中检索 Shopware CMS 编辑器中的自定义实体数据

javascript - 从函数内部的对象传递值

function - 展开对象以作为函数参数传递

variables - 何时使用对象实例变量与向方法传递参数

bst实现中的Java参数传递

css - 如何在 vuetify v2 的 scss 中更改断点?