Vue.js:更改时调用函数

新手上路,请多包涵

我正在 Vue.js 中构建一个组件。我在页面上有一个输入,用户可以在其中请求一定的信用额度。目前,我正在尝试创建一个函数,在我输入时将输入量记录到控制台。(最终,我将根据用户输入显示/隐藏请求的文档。我不希望他们必须单击提交按钮。)

当我从输入字段中选择/单击时,下面的代码会记录它。这是我的component.vue:

 <template>
    <div class="col s12 m4">
      <div class="card large">
        <div class="card-content">
          <span class="card-title">Credit Limit Request</span>
          <form action="">
            <div class="input-field">
              <input v-model="creditLimit" v-on:change="logCreditLimit" id="credit-limit-input" type="text">
              <label for="credit-limit-input">Credit Limit Amount</label>
            </div>
          </form>
          <p>1. If requesting $50,000 or more, please attach Current Balance Sheet (less than 1 yr old).</p>
          <p>2. If requesting $250,000 or more, also attach Current Income Statement and Latest Income Tax Return.</p>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: 'licenserow',
  data: () => ({
    creditLimit: ""
  }),
  methods: {
    logCreditLimit: function (){
      console.log(this.creditLimit)
    }
  }
}
</script>

如果我将 methods 更改为 computed ,它可以工作 - 但每次记录值时我都会收到一条错误 Invalid handler for event: change

原文由 John P 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 396
2 个回答

将 @input 事件与 v-model 绑定是不必要的。只需绑定 v-model 即可。模型会根据输入事件自动更新。

 new Vue({
  el: '#app',
  data: {
    message: ''
  }
})
 <script src="https://unpkg.com/vue@2.4.4/dist/vue.min.js"></script>

<div id="app">
  <input type="text" v-model="message"><br>
  Output: <span>{{ message }}</span>
</div>

如果您需要将更改记录到控制台,请创建特定的观察者:

 new Vue({
  el: '#app',
  data: {
    message: ''
  },
  watch: {
    message: function (value) {
      console.log(value) // log it BEFORE model is changed
    }
  }
})
 <script src="https://unpkg.com/vue@2.4.4/dist/vue.min.js"></script>

<div id="app">
  <input type="text" v-model="message"><br>
  Output: <span>{{ message }}</span>
</div>

原文由 user6748331 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题