首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跟踪alpine.js中的输入变化

跟踪alpine.js中的输入变化
EN

Stack Overflow用户
提问于 2021-01-14 07:03:44
回答 1查看 10.2K关注 0票数 1

我正在学习alpine.js,并试图捕获用户输入值。我使用了"x-on:input“,但它没有调用函数。

下面是简单的表单输入

代码语言:javascript
复制
 <input type="email" class="form-control" x-on:input.debounce="validateEmail($event)" x-model="userEmail" id="email" aria-describedby="emailHelp" placeholder="Enter email">

这是我的index.js中的基本方法

代码语言:javascript
复制
function validateEmail(event){
console.log(userEmail);

}

函数没有被调用。

添加示例stackblitz

请指点

谢谢Shruti Nair

EN

回答 1

Stack Overflow用户

发布于 2021-01-14 07:22:16

你在找x-on:change

代码语言:javascript
复制
<input type="email" class="form-control" x-on:change.debounce="validateEmail($event)" x-model="userEmail" id="email" aria-describedby="emailHelp" placeholder="Enter email">

您还想让函数从$event.target.value读取值

因为您已经有了一个x-model,所以可以将$watch('userEmail', (val) => {})添加到x-init并以这种方式进行验证。

编辑:(基于stackblitz)

全部构成部分:

代码语言:javascript
复制
<form x-data="{
  userEmail: '',
  validateEmail(event) {
    console.log(event.target.value);
  },
  submit($event) {
    console.log(this.userEmail)
  }
}">
  <input type="email"  class="form-control"
    x-on:change.debounce="validateEmail($event)"
    x-model="userEmail"
    id="email"
    aria-describedby="emailHelp"
    placeholder="Enter email"/>
  <button type="button" x-on:click="submit" class="btn btn-block">
    Submit
  </button>
</form>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65714654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档