【吐血总结】前端开发:一文带你精通Vue.js前端框架(七)

news/2024/7/19 14:44:51 标签: 前端框架, vue.js, flutter, html, js, css

文章目录

    • 前言
    • 1️⃣事件处理器
    • 2️⃣表单
    • 3️⃣总结

前言

上一篇中我们学习了html" title=vue.js>vue.js 的条件语句、循环语句等知识点.,现在让我们接着Vue系列的学习。

Vue中事件处理器、表单等在开发中的作用不可或缺,本文将基于实例进行以上知识点的讲解。

在这里插入图片描述


1️⃣事件处理器

在Vue.js中,我们可以使用v-on指令来绑定事件处理器。事件处理分为多种,本文介绍常见的几种。

1.点击事件处理:

语法模板

html"><template>
  <button v-on:click="handleClick">Click Me</button>
</template>

<script>
export default {
  methods: {
    handleClick() {
      // 在这里编写点击事件处理逻辑
      console.log('Button clicked!');
    }
  }
};
</script>

当按钮被点击时,handleClick方法会被调用,并输出一条消息到控制台。

完整代码如下:

在这里插入图片描述

效果如下所示:

在这里插入图片描述

2.输入事件处理:

语法模板

html"><template>
  <input v-model="message" v-on:input="handleInput" placeholder="Type something">
</template>

<script>
export default {
  data() {
    return {
      message: ''
    };
  },
  methods: {
    handleInput() {
      // 在这里编写输入事件处理逻辑
      console.log('Input value changed: ' + this.message);
    }
  }
};
</script>

当文本输入框的值发生变化时,handleInput方法会被调用,并输出一条带有当前输入值的消息到控制台。

html"><div id="app">
    <input v-model="inputValue" placeholder="Type something" oninput="handleInput(event)">
    <p>You typed: {{ inputValue }}</p>
  </div>

  <script>
    new Vue({
      el: '#app',
      data: {
        inputValue: ''
      }
    });

    function handleInput(event) {
      var inputValue = event.target.value;
      console.log('Input value changed:', inputValue);
      // 在这里可以进行其他处理逻辑
    }
  </script>

在上述代码中,我们使用 oninput 属性直接将 handleInput 函数绑定到输入框的 input 事件上。当用户在输入框中输入时,handleInput 函数会被调用,并通过 event.target.value 获取输入框的值。然后,你可以在函数中进行任何其他的处理逻辑。

在这里插入图片描述

3.键盘事件处理:

语法模板

html"><template>
  <input v-on:keyup.enter="handleEnterKey" placeholder="Press Enter">
</template>

<script>
export default {
  methods: {
    handleEnterKey() {
      // 在这里编写按下回车键的事件处理逻辑
      console.log('Enter key pressed!');
    }
  }
};
</script>

当在文本输入框中按下回车键时,handleEnterKey方法会被调用,并输出一条消息到控制台。


2️⃣表单

v-model 是 Vue.js 中一个常用的指令,它可以将表单输入元素绑定到 Vue 实例中的数据属性。通过这种方式,表单输入的值可以自动地同步到 Vue 实例中的数据,而不需要手动监听 “input” 或 “change” 事件来进行数据同步。

我们可以用 v-model 指令在表单控件元素上创建双向数据绑定。

举个例子:

html"><div id="app">
  <p>input 元素:</p>
  <input v-model="message">
  <p>绑定: {{ message }}</p>
	
  <p>textarea 元素:</p>
  <p style="css language-css">white-space: pre">{{ message2 }}</p>
  <textarea v-model="message2"></textarea>
</div>

<script>
new Vue({
  el: '#app',
  data: {
    message: '秋说',
	message2: '等风来\r\nWait'
  }
})

页面回显如下:

在这里插入图片描述

我们可以通过以下形式实现复选框的双向数据绑定:

html"><div id="app">
  <p>单个复选框:</p>
  <input type="checkbox" id="checkbox" v-model="checked">
  <label for="checkbox">{{ checked }}</label>
  <p>多个复选框:</p>
  <input type="checkbox" id="1" value="秋说" v-model="checkedNames">
  <label for="runoob">秋说</label>
  <input type="checkbox" id="2" value="花无缺" v-model="checkedNames">
  <label for="google">花无缺</label>
  <br>
  <span>选择的值为: {{ checkedNames }}</span>
</div> 
<script>
new Vue({
  el: '#app',
  data: {
    checked : false,
    checkedNames: []
  }
})

页面显示如下:

在这里插入图片描述

我们可以通过以下形式实现下拉列表的双向数据绑定:

html"><div id="app">
  <select v-model="selected" name="1">
    <option value="">choose</option>
    <option value="hello">秋说</option>
    <option value="bye">花无缺</option>
  </select>
  <div id="output">
      你的选择是: {{selected}}
  </div>
</div>
<script>
new Vue({
  el: '#app',
  data: {
    selected: '' 
  }
})

页面回显如下:

在这里插入图片描述

通过以上实例可以看到,v-model指令对于表单的处理是十分高效快捷的。


3️⃣总结

以上为前端开发:一文带你精通Vue.jshtml" title=前端框架>前端框架系列(七),带领读者掌握事件处理器及表单等。

前端开发系列将持续更新,读者可订阅专栏持续学习。

在这里插入图片描述


http://www.niftyadmin.cn/n/5182001.html

相关文章

01 # 重塑类型思维

TypeScript 缘起 ECMAScript 标准在近几年有了长足的进步&#xff0c;但在类型检查方面依然无所建树。而 JavaScript 是一门动态弱类型语言&#xff0c;对变量的类型非常宽容&#xff0c;而且不会在这些变量和它们的调用者间建立结构化的契约。如果你长期在没有类型约束的环境…

AXglyph——轻量级科研绘图软件

今天博主将推荐一款简约却不简单的制图软件——axglyph。 AxGlyph是一款十分优秀的矢量绘图软件&#xff0c;官方版界面简洁&#xff0c;功能强大&#xff0c;支持自由矢量画笔、混合矢量路径和矢量漫水填充。支持自由定义的磁力点阵&#xff0c;支持插图编号及引用管理&#…

Vue3: el-table表格数据不显示

问题 在Vue3中使用ElementPlus的el-table来展示数据&#xff0c;但是数据一直没有显示出来 分析及解决 1、el-table是否正确引入 首先&#xff0c;数据已确定正确绑定&#xff0c;elementplus也已正确引入&#xff0c;一开始以为是elementplus版本的问题&#xff0c;还重新…

QML14、Qt之Q_PROPERTY宏理解

在初学Qt的过程中,时不时地要通过F2快捷键来查看QT类的定义,发现类定义中有许多Q_PROPERTY的东西,比如最常用的QWidget的类定义: Qt中的Q_PROPERTY宏在Qt中是很常用的,那么它有什么作用呢? Qt提供了一个绝妙的属性系统,Q_PROPERTY()是一个宏,用来在一个类中声明一个属…

代驾预约小程序系统源码 :提起预约,避免排队 带完整搭建教程

大家好啊&#xff0c;又到罗峰来给大家分享好用的源码系统的时间了。今天要给大家分享的第一款代驾预约小程序源码系统。传统的代驾服务中&#xff0c;用户往往需要在酒后代驾、长途驾驶等场景下&#xff0c;面对排队等待代驾司机空闲时间的繁琐过程。这不仅浪费了用户的时间和…

【Linux网络】1分钟使用shell脚本完成DNS主从解析服务器部署(适用于centos主机)

DNS正向解析主从解析服务器脚本 1、脚本内容 主服务器脚本 #!/bin/bash ##先修改本地DNS缓存服务器 read -p "请输入主服务器ip地址&#xff1a;" masterIP sed -i /DNS/d /etc/sysconfig/network-scripts/ifcfg-ens33 echo "DNS$masterIP" >> /e…

Java19新增特性

前言 前面的文章&#xff0c;我们对Java9、Java10、Java11、Java12 、Java13、Java14、Java15、Java16、Java17、Java18 的特性进行了介绍&#xff0c;对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 Java13新增特性 Java14新增特性 Java15新增特…

NTP时钟同步服务器(卫星授时服务)在云计算数据机房的应用

NTP时钟同步服务器&#xff08;卫星授时服务&#xff09;在云计算数据机房的应用 NTP时钟同步服务器&#xff08;卫星授时服务&#xff09;在云计算数据机房的应用 1、云计算定义与特点 云计算概念定义 现阶段广为被接受的定义来自于每个国家标准与技术研究院&#xff08;NIS…