获取所有输入值 - Vuejs

Reh*_*han 4 vue.js vue-component vuejs2

input在一个简单的 VueJs 应用程序中有多个元素。但我没有 和 表单元素。现在我想一次获取所有输入值并发送到服务器端[laravel]进行处理?

<div>
  <input v-model="foo-bar" placeholder="edit me">
  <input v-model="bar-foo" placeholder="edit me">
  <input v-model="foo-foo" placeholder="edit me">
  <input v-model="bar-bar" placeholder="edit me">
</div>  

<div>
  <input type="button" @click="getAllData">Send</input>
</div>


getAllData(){
  // I have no idea how to get all at once!
}
Run Code Online (Sandbox Code Playgroud)

Phi*_*hil 9

将所有内容存储在一个方便的表单对象中怎么样,例如

new Vue({
  el: '#app',
  data: {
    form: {} // create an object to hold all form values
  },
  methods: {
    getAllData() {
      console.info(this.form)
      // axios.post('/some/url', this.form)
    }
  }
})
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<div id="app">
  <div>
    <input v-model="form['foo-bar']" placeholder="edit me">
    <input v-model="form['bar-foo']" placeholder="edit me">
    <input v-model="form['foo-foo']" placeholder="edit me">
    <input v-model="form['bar-bar']" placeholder="edit me">
  </div>
  
  <div>
    <button type="button" @click="getAllData">Send</button>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

正如您在演示中所看到的,您所需要做的就是引用this.form所有值。