如何通过Vue JS中的v模型检查输入框是否为空?

时间:2019-09-22 04:56:42

标签: javascript vue.js

在有关Vue的学习应用程序中,我使用message的vue将v-model与输入框绑定。这样,我设置了另一种方法来检查输入框是否为空,然后默认将默认的message值设置为其他值。

这是我的摘录:

var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  },
  methods:{
  	check:function(){
  		if (this.message==''){
  			this.message='Please enter text in text box below';
  		}
  	}
  }
})
<html>
    <head>
        <link rel="stylesheet" href="index.css">
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    <body>
    <!--
        v-model:
        Used with form input for user synchronize data between front-end and back-end
        as seen here message is bind with form input, so whenver we update the form, the var message
        will be updated as well
     -->
        <div id="app">
            <p>{{ message }}</p>
            <input v-model="message" v-on="check">
        </div>
        
        <script src="index.js"></script>
    </body>
</html>

但是,v-on="check"似乎不起作用,并且输入框为空,message并没有改变。有什么我想念的吗?

PS:我是VueJS的新手:)

2 个答案:

答案 0 :(得分:0)

像这样测试它:

if (this.message === '' || this.message === null || this.message.value === 0){
            this.message='Please enter text in text box below';
        }

答案 1 :(得分:0)

有多种方法可以解决此问题:

  1. 在模板中添加条件逻辑:
<p>{{ message || 'Your default text here'</p>
  1. 使用computed属性
  2. 使用filter