当前位置: 首页 > news >正文

008 前端vue

vue优点之一:元素和数据能同时变化

一、vue2

1.基本框架

基本写法:

<template><div></div></template>
<script lang="ts">
// 以下是vue2的写法
export default{// 所有数据放在data里面data() {return{}},//所有函数都放在这里methods:{}
}
</script>
<style scoped></style>

2.表单控件获取值

3.表单控件获取文本信息

4.绑定事件

5.单选按钮

6.选择多个选项(数组)

7.信息成组出现

8.遍历多个值

9.总汇

10.追加

添加样式和css一样

11.v-if

是否有

12.v-show

是否展示

13.全部代码

<template><div><!-- 单选/多选/下拉框这种表单控件,要获取值,用v-model --><!-- br表示插入一个换行符 --><!-- 获取文本信息用两个花括号 -->姓名:<input type="text" v-model="username" >{{ username }}<br>成绩:<input type="text" v-model="score">{{ score }}<br><!-- 设置按钮成绩提高 --><!-- 给button绑事件,点击之后触发添加成绩的方法 addScore()--><button v-on:click="addScore()" >成绩提高</button><div><!-- <input type="radio"> 表示单选按钮,用于从一组选项中选择唯一的一个选项 --><!-- 想让对象成组出现,v-model="对象名+属性名" -->性别:<input type="radio" value="1" v-model="userInfo.sex">男<input type="radio" value="2" v-model="userInfo.sex">女<br>年龄:<input type="number" v-model="userInfo.age"><br><!-- 多个选项选一个 -->学科:<select v-model="userInfo.obj"><option value="Math">数学</option><option value="Chinese">语文</option><option value="English">英语</option></select><br><!-- 数组用循环实现成组出现 -->爱好:<span v-for="(skill, index) in userInfo.interest" :key="index">{{ skill }}</span><!-- 设置添加选项按钮,点击这个按钮触发新增爱好方法,并且绑定新爱好这个输入框 -->新爱好:<input type="text" v-model="newInterest"><button v-on:click="addInterest()">增加新爱好</button><!-- 总汇 -->个人信息<div>{{ userInfo }}</div></div></div>
</template><script lang="ts">
// 以下是vue2的写法
export default{// 所有数据放在data里面data() {return{username:"张三",score:500,userInfo:{sex:1,age:23,obj:"Math",// 爱好可以有很多个,所以可以用数组interest:['篮球','足球','乒乓球']},// 新增爱好,初始值为空newInterest:""}},//所有函数都放在这里methods:{addScore(){this.score+=10},// 添加方法:新增爱好addInterest(){// 如果不是空的电话,执行下面语句if(this.newInterest)// 增加this.userInfo.interest.push(this.newInterest)}}
}
</script>
<style scoped></style>

二、vue3

只能在控制台打印

<template><div><!-- 单选/多选/下拉框这种表单控件,要获取值,用v-model --><!-- br表示插入一个换行符 --><!-- 获取文本信息用两个花括号 -->姓名:<input type="text" v-model="username" >{{ username }}<br>成绩:<input type="text" v-model="score">{{ score }}<br><!-- 设置按钮成绩提高 --><!-- 给button绑事件,点击之后触发添加成绩的方法 addScore()--><button v-on:click="addScore()" >成绩提高</button></div></template>
<script lang="ts">export default{setup() {let username="李华"let score =500function addScore(){console.log(score)score+=20}return{username,score,addScore}},}</script>
<style scoped></style>

1.双向绑定

ref函数(自动导入)

2.封装

<template><div><!-- 单选/多选/下拉框这种表单控件,要获取值,用v-model --><!-- br表示插入一个换行符 --><!-- 获取文本信息用两个花括号 -->姓名:<input type="text" v-model="username" >{{ username }}<br>成绩:<input type="text" v-model="score">{{ score }}<br><!-- 设置按钮成绩提高 --><!-- 给button绑事件,点击之后触发添加成绩的方法 addScore()--><button v-on:click="addScore()" >成绩提高</button></div></template>
<script lang="ts">
import { ref } from 'vue'export default{setup() {let username=ref("李华")let score =ref(500)function addScore(){console.log(score)score.value +=20}return{username,score,addScore}},}</script>
<style scoped></style>
<template><div>姓名:<input type="text" v-model="userInfo.username">{{ userInfo.username }}<br>成绩:<input type="text" v-model="userInfo.score">{{ userInfo.score }}<br><button v-on:click="addScore">成绩提高</button></div>
</template><script lang="ts">
import { reactive } from 'vue';export default {setup() {// 用reactive创建响应式对象管理用户信息const userInfo = reactive({username: "李华",score: 500});// 定义事件处理函数,直接访问userInfofunction addScore() {console.log(userInfo.score);userInfo.score += 20;}return { userInfo, addScore };}
};
</script><style scoped></style>

简洁写法

http://www.dtcms.com/a/319026.html

相关文章:

  • Android-Kotlin基础(Jetpack①-ViewModel)
  • 【遥感图像入门】近三年遥感图像建筑物细粒度分类技术一览
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第七天(Vue)(二)
  • Tiger任务管理系统-10
  • vue打包号的文件如何快速查找文件打包后的位置
  • 聚水潭API数据接口开发手机端网页查询商品仓位库位库存工具,支持扫描识别,预览图片
  • Numpy科学计算与数据分析:Numpy线性代数基础与实践
  • 决策树技术详解:从理论到Python实战
  • RabbitMQ-日常运维命令
  • 华为开源CANN,再次释放“昇腾转向”信号
  • 【数据结构初阶】--排序(五)--计数排序,排序算法复杂度对比和稳定性分析
  • C语言memmove函数详解:安全高效的内存复制利器
  • ELK基础环境安装准备
  • 飞算JavaAI深度解析:Java开发者的智能革命
  • 构建一个简洁优雅的 PHP 参数验证器 —— php-schema-validator
  • 大疆前端笔试题目详解
  • FPGA开发技能(11)用iperf测试网络性能
  • 【unity知识】unity使用AABB(轴对齐包围盒)和OBB(定向包围盒)优化碰撞检测
  • JavaSE---异常的经典面试题
  • 《C语言》函数练习题--1
  • FreeRTROS3——事件组和定时器
  • QT的拖拽功能
  • Flutter开发 Slider组件(如音量控制)
  • 小程序省市级联组件使用
  • 【课题推荐】卡尔曼滤波,创新性的算法与应用:从非线性适用性、鲁棒抗差、自适应、金融与生物新应用等方面考虑
  • 项目构想|文生图小程序
  • idea开发工具中git如何忽略编译文件build、gradle的文件?
  • C5.1:共发射极组态
  • 【Day 18】Linux-DNS解析
  • 如何理解“信号集是位掩码,每个bit代表一个信号”这句话?