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

VUE2课程计划表练习

在这里插入图片描述
主要练习数据变量对象
以下是修正后的完整代码:

//javascript
export default {data() {return {list: [{ id: '1', subject: 'Vue.js 前端实战开发', content: '学习指令,例如 v-if、v-for、v-model 等', place: '自习室', status: false }// 可以在这里添加更多项目...]}}
}

关键点
data() 现在返回一个包含 list 属性的对象
list 被正确定义为数组(使用方括号[])
对象属性使用引号包裹(更规范的写法)
每个对象之间使用逗号分隔(如果有多个对象)

index.html代码

<!DOCTYPE html>
<html lang=""><head><meta name="viewport" content="width=device-width, initial-scale=1.0" /><link href="css/bootstrap.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><!-- built files will be auto injected --></body>
</html>

APP.VUE组件代码

<template><div id=app><div class="card"><!-- 标题区域 --><div class="card-header">学习计划表</div><!-- 提交区域 --><div class="card-body"><form @submit.prevent="add"><div class="row g-4"><!-- 学习科目 --><div class="col-auto"><div class="input-group mb-3"><span class="input-group-text" id="basic-addon1">学习科目</span><input type="text"  class="form-control" placeholder="请输入学习科目"  v-model="subject"></div></div><!-- 学习任务 --><div class="col-auto"><div class="input-group mb-3"><span class="input-group-text" id="basic-addon1">学习内容</span><textareaclass="form-control" placeholder="请输入学习内容" style="height: 32px;" v-model="content"></textarea></div></div><!-- 学习地点 --><div class="col-auto"><div class="input-group mb-3"><span class="input-group-text" id="basic-addon1">学习地点</span><select class="form-select form-select-sm" v-model="selectedOption"><option v-for="option in options" :value="option.place" :key="option.placeCode">{{ option.place }}</option></select></div></div><!-- 添加按钮 --><div class="col-auto"><button type="submit" class="btn btn-primary">添加</button></div></div></form></div></div><table class="table table-striped table-hover table-bordered"><thead><tr><th scope="col">序号</th><th scope="col">学习科目</th><th scope="col">学习内容</th><th scope="col">学习地点</th><th scope="col">完成状态</th><th scope="col">操作</th></tr></thead><tbody><tr v-for="item in list" :key="item.id"><td>{{ item.id }}</td><td>{{ item.subject }}</td><td>{{ item.content }}</td><td>{{ item.place }}</td><td><div class="form-check form-switch"><input class="form-check-input" type="checkbox" role="switch" id="'cb' + item.id"v-model="item.status" /><label class="form-check-label" for="'cb' + item.id" v-if="item.status">已完成</label><label class="form-check-label" for="'cb' + item.id" v-else>未完成</label></div></td><td><a href="javascript:;" @click="remove(item.id,item.status)">删除</a></td></tr></tbody></table>
</div></template><script>export default{data(){return {subject:'',content:'',nextId:'',selectedOption:'自习室',           options:[{placeCode: 0,place: '自习室',},                {placeCode: 1,place: '图书馆',},                {placeCode: 2,place: '宿舍',}],list:[{id: '1',	subject: 'Vue.js 前端实战开发222',	content: '学习指令,例如 v-if、v-for、v-model 等',place: '自习室',status: false}]}},methods:{add(){// alert(1111122222)if (this.subject === '') {alert('学习科目为必填项!')return}this.nextId = Math.max(this.list.map(item => item.id)) + 1let obj = {id: this.nextId,subject: this.subject,content: this.content,place: this.selectedOption,status: false,}this.list.push(obj)this.subject = ''this.content = ''this.selectedOption = '自习室'},remove(id,status){// alert(id)if (status) {this.list =  this.list.filter(item => item.id !== id)} else {alert('请完成该学习计划后再进行删除操作!')}}}}</script><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;
}
</style>
http://www.xdnf.cn/news/4949.html

相关文章:

  • 推送到Gerrit时报错,缺少Change-Id
  • component :is是什么?
  • 多轴钻孔组合机床设计与关键技术研究
  • 【nestjs】一般学习路线
  • 嵌入式学习笔记 - 关于单片机的位数
  • 基于AQS实现Reentrantlcok
  • 【递归、搜索和回溯】递归、搜索和回溯介绍及递归类算法例题
  • LeetCode百题刷002摩尔投票法
  • 镜头内常见的马达类型(私人笔记)
  • Nginx静态资源增加权限验证
  • CurrentHashMap的整体系统介绍及Java内存模型(JVM)介绍
  • 单位代码签名证书是什么?如何申请?
  • 开平机:从原理到实践的全面技术剖析
  • 【C/C++】范围for循环
  • ⭐️⭐️⭐️【课时1:大模型是什么?】学习总结 ⭐️⭐️⭐️ for《大模型Clouder认证:基于百炼平台构建智能体应用》认证
  • 【el-admin】el-admin关联数据字典
  • 访问网站提示“不安全”“有风险”怎么办?
  • HarmonyOS NEXT 免费无广告看电影app:从想法到实现的经验总结
  • AI与自然语言处理(NLP):从BERT到GPT的演进
  • Python字典:数据操作的核心容器
  • 单调栈所有模版(2)
  • 19、HashTable(哈希)、位图的实现和布隆过滤器的介绍
  • 报考消防设施操作员需要满足什么条件?
  • 【Python 字典(Dictionary)】
  • 【Pandas】pandas DataFrame all
  • levelDB的数据查看(非常详细)
  • 摩斯密码详解
  • 基于论文《大规模电动汽车充换电设施可调能力聚合评估与预测》开发者说明文档
  • EXCEL中嵌入其他表格等文件
  • 电子电路:白炽灯发光能说明电子正在消散消失吗?