玩转 Vue 3 全家桶
大圣
前百度前端架构师
38320 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 44 讲
玩转 Vue 3 全家桶
15
15
1.0x
00:00/00:00
登录|注册

02 | 上手:一个清单应用帮你入门Vue.js

如何解决页面刷新后所有操作状态都丢失的问题
通过computed优化页面数据的显示
使用@keyup和@click来绑定交互事件
使用v-model和v-for来实现输入框和清单列表的功能
思考题
学习了Vue的入门使用
小圣学到了jQuery和Vue开发思路的区别
总结

该思维导图由 AI 生成,仅供参考

你好,我是大圣,欢迎进入课程导读篇的第二讲。
在上一讲中,我带你了解了前端框架的基本发展历史。在为什么要学 Vue 框架这个问题上,相信你现在已经有了自己的答案。那么从今天开始,我们正式进入上手学 Vue 的阶段。
我们的专栏课程会通过故事的形式展开。故事的主角小圣是一名刚入行的前端工程师,在校期间学了点 HTML、CSS 和 JavaScript,但是不太懂框架。我是他的经理,会手把手教他在 Vue.js 这个框架里打怪升级。
小圣在学习 Vue 的过程中碰到的各种问题,同样也可能是你会碰到的问题。所以,在我带着你一起解决小圣面临的问题的同时,你的很多问题也会迎刃而解。
今天是小圣第一天入职,他只知道团队的项目是用 Vue.js 开发的,但并不熟悉 Vue 的具体技术细节,所以我决定带他先做一个清单应用,先在整体上熟悉这个框架。当然了,我在这里带小圣做的清单应用,更多的是一种模拟的场景,并不需要对号入座到真实的工作场景下。毕竟在真实的工作场景下,可能小圣一进公司就上实际的项目了。
如果你已经很熟悉 Vue 开发了,可以直接粗略地把本讲过一遍,直奔下一讲。在那里,我会带你梳理 Vue 3 的新特性,相信这些新特性会让你对 Vue 3 产生新的期待。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Vue.js是一个流行的前端框架,本文以一个清单应用为例,带领读者入门Vue.js的开发。文章首先介绍了环境准备和任务分解,然后对比了jQuery和Vue.js的开发思路差异,强调了Vue.js的数据驱动页面的特点。接着详细讲解了清单页面的渲染和处理用户交互的方法。通过故事化的方式,读者可以跟随主角小圣的学习过程,了解Vue.js的基本开发思路和语法特点。 在实现清单应用的过程中,文章介绍了如何改造数据结构以支持标记清单中某一项是否完成的功能,并使用Vue.js的特性来实现复选框功能、显示未完成项目比例以及清理已完成项目的功能。此外,还介绍了Vue.js的计算属性和条件渲染的使用,以及如何优化页面数据的显示。 总的来说,本文适合初学者快速了解Vue.js的基本概念和开发方式,为进一步深入学习打下基础。通过故事化的讲解和实际代码示例,读者可以轻松理解Vue.js的核心概念和应用方法,为日后的前端开发打下坚实基础。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《玩转 Vue 3 全家桶》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(82)

  • 最新
  • 精选
  • ch3cknull
    交作业: 仅前端缓存:在unmount组件时,将 组件的 data 存到 localStorage ,mount组件时取出。 如果后端有接口的话,可以在unmount时,同步到后端,挂载时请求接口 考虑用户体验,如果离线在线都可修改,可以考虑给todo的每一项加个最后修改时间,挂载时把本地缓存数据和接口数据合并,当冲突时,只留下最新数据

    作者回复: 回答正确!

    2021-10-20
    7
    99
  • www
    全选按钮使用 set 和 get 进行处理,真是妙啊。 这一个方法就值了🎫了

    作者回复: 哈哈 感谢感谢 computed的妙用

    2021-10-20
    7
    56
  • ll
    思考题:这个涉及到页面状态保存,方法有很多,大概两类: 1. 本地储存: a. localstorage b. workers c. router,也可以存到 route 中 d. 存到本地文件 2. 服务端:这个就是将状态保存到服务器,通过 axios 等方式和服务器交换数据等

    作者回复: 赞呀,方案比我想的还多 localstorage和接口是最常见的

    2021-10-20
    5
    37
  • 老杨头
    交作业 : 通过watch监听数据变更并存储到localStorage中,然后在mounted时加载数据 watch: { todos: {//监听数据变更 handler(newVal, oldVal) { console.info("todos->change") //TODO::原来是在unmount时才保存的,但unmount代码没有执行,所以换成wathc了,不知道为什么unmount没有执行 localStorage.setItem("todos", JSON.stringify(this.todos)) }, deep: true } }, mounted() { //加载数据 var todos = localStorage.getItem("todos"); if(todos) { this.todos = JSON.parse(todos); } }, unmounted() { //保存数据 localStorage.setItem("todos", JSON.stringify(this.todos)) }, 原来是在unmount时才保存的,但unmount代码没有执行,所以换成wathc了,不知道为什么unmount没有执行

    作者回复: 很赞的总结呀 cool

    2021-10-25
    4
    13
  • 杨村长
    交作业:将数据存入localStorage,刷新时再取出来展现 1.保存:watch一下todoList,变化存入 2.读取:data设置为localStorage中读出的数据

    作者回复: 100分100分

    2021-10-22
    12
  • 南山
    打卡 1. 保存时机,在unmount的生命周期进行保存 2. 使用浏览器客户端存储,如sessionStorage,LocalStorage等api保存,保存时添加时间戳用于比对新老数据,使用服务端保存接口,将数据持久化到数据库,考虑接口请求失败时重试机制和友好提示 3. 客户端存储在在data定义时直接从localStorage等获取,服务端接口在created周期请求获取数据并给data赋值 4.考虑保存失败的情况,可以监听数据变化做自动保存

    作者回复: 赞赞赞,还考虑了保存失败的异常

    2021-10-20
    12
  • mixiuu
    仅刷新页面,并不会出发unmounted生命周期,在仅刷新页面的场景下可以在created生命周期里监听beforeunload事件,如果有todos,存入localstorage中

    作者回复: 妙啊,感谢提出

    2021-10-28
    2
    11
  • 桃子-夏勇杰
    {{active}} / {{all}} 这里为什么要做成2个属性而不是直接做个1个属性呢?

    作者回复: 其实完整的应用,all还会在别的地方用到 就没有合并

    2021-10-22
    2
    6
  • 付帅帅
    目前能想到的持久化方案: 一个是借助后端让数据入库,还有就是 localStorage 这种浏览器本地持久化

    作者回复: 赞,localStorage对我们这个Demo就够用了

    2021-10-20
    6
  • 洪布斯
    在给输入框绑定事件 `addTodo` 时,把 `keydown` => `keyup` 是不是更合适,`keydown` 在按键按下时,会一直触发事件。或者做一个非空判断也可~

    作者回复: 有道理

    2021-11-13
    5
收起评论
显示
设置
留言
82
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部