还做了一点……
真是糟糕的一周!经过上周非常低效的一周后,我终于回到正轨,而 **关于这周,我能说的是,它也非常低效,但同时也非常高效(!)**
如果我把这周所做的一切都写下来,我就没有时间学习 Web 开发了,而且有时很难把我的经历归入正确的类别,因为有时它们属于多个类别,但无论如何我都会尝试总结这一周……
自上篇文章以来,我所处理/完成的事情......
我一直在处理**待办事项清单**。
一切进展顺利...
我以为我本周取得了很大进展,直到我分享了我的仓库并就一些不相关的问题征求建议。在这样做的过程中,**我发现我正在导出不该导出的东西(可变变量)**,而且我在开始项目之前没有正确认识到这一点。尽管我很想忽略这一点(!),但我知道我必须调整我的项目。
有人建议我仅使用三个模块来构建我的程序:index.js、logic.js 和variables.js,以便在我重构代码时让事情变得更简单(我以前有多个文件)。**事后看来,我认为这个“问题”是好的,因为我可能会继续导出所有内容,而没有意识到将各种变量导出到各种地方的潜在影响。**
**我用动态表单替换了静态弹出表单**,这是我第一次这样做。在此之前,我使用显示属性来隐藏和显示静态表单,但当我尝试从静态表单收集数据时遇到了麻烦,并被建议动态创建它。**这使我能够根据其变量组件“按需”渲染/构建表单**,而不是仅仅更改静态元素的显示。
尽管我有时仍会寻求帮助,但**我感觉自己更有能力找到问题的答案**,这非常令人满意。我还认为我对代码的总体情况有了更好的了解。
**我想我越来越擅长弄清楚如何访问其他数组对象中的数组内的对象(或类似的东西!)。**这肯定会令人困惑,但这个项目让我更好地弄清楚了这一点。
事情进展得不太顺利……
虽然我最终发现了错误,但**我的按钮事件监听器中的 DOM 和逻辑函数的顺序是错误的**,这意味着我需要的数据无法用于更新 DOM(由于函数调用的顺序不正确)。我被这个问题困扰了一段时间,出于某种原因,我没有想到要检查函数被触发的顺序。
另一个问题最终变得简单,但我花了很多时间,**是向 DOM 添加任务**。我的 taskContainer 被毫无问题地附加了,但**我注意到第一次点击后内部组件没有被附加**。我花了很多时间才弄清楚第二次点击时缺少的那些与函数外部声明的变量有关(我将它们留在外面,以便以后能够访问它们并附加事件侦听器)。事实证明,我不需要在相关函数之外访问这些元素,因此我将它们移到函数内部并解决了问题。
有人告诉我,**我应该将逻辑与数据分开**,我尝试这样做,但**我意识到,如果我不应该导出某些类型的变量,而我想将一个函数附加到事件侦听器,我必须将该函数放入我的变量所在的位置**。我有点担心,出于某些原因,这可能不正确,但我现在坚持这样做。我想我应该能够将带有相关参数的函数导入变量所在的位置,但它没有起作用——我可能应该再检查一下。
我学到的东西/需要改进的东西...
**这是我在函数中广泛使用参数的第一个项目**,我从中学到了很多东西——它让我更加注意范围,我还学会了如何在事件监听器中使用带有参数的函数而不立即调用它(匿名调用它)。
我需要**尽可能将数据和逻辑分开**。
**应动态创建表单**以使其能够重新渲染(!)
**对变量名进行更多的思考**(例如,如果用于 DOM 和逻辑的两个变量分别具有相似的名称,则将与 DOM 相关的变量附加在“DOM”上,否则会变得非常混乱。
**使用查找和替换很容易错误地更改变量名称!** 但可能有办法防止这种情况 - 也许我只需要了解它们是什么。
**我在 git 中建立了一个新分支**。我以前也做过这个,但这样做很好。
这周我学到了很多东西,尽管很耗时,但我还是很享受。
计划接下来的一周...
**我将继续待办事项项目。**
我的任务添加(逻辑和 DOM)基本上都正常工作,数据对象也正确设置等等,因此我可能会先开始删除和编辑单个任务,然后再创建新项目并向其中添加新任务。