怎么说呢,这次作业要求做一个空调管理系统。很多人选择了用c++配合qt去做,但是我对这软件不熟,学习成本太高,更主要是以后也用不上,所以采用的还是BS模型。
我和另一个室友分别负责前端和后端的代码。本来是前后端分离的,但是为了这种小型的系统去用vue,显得杀鸡用牛刀,虽说vue的响应式是真的方便,这次也是打算试试自己用原生js能不能去实现这些功能。
所以还是采用django后端渲染html模板的方法,即,我只负责django里template的书写。
有几点是真的麻烦,一来是这样我的页面要运行必须要在室友的电脑上跑,前后端不分离最大的痛点。
然后就是不用vue的问题,首先就是我要修改页面样式就必须去操作dom节点。然后就是同时出现了几个函数的属性,在其中一个方法里修改了,其他方法无法跟踪这个变化,所以要额外写很多内容。这也是响应式的好处。
调度策略不是我在做,但是我必须获取服务器给我的指令。但服务器显然是不能主动向客户端发响应的,所以我的做法是,每秒给服务器发送一次http请求用于获取当前的状态。
django模板引擎,要用let来获取{{ }}模板传的值,如果是字符串的要加双引号,因为他就像文本一样渲染
如果postData的某个值为undefind,不会转成json,还是html,这一点会导致500,这也说明一个问题,500并不总是服务器的问题,可能是发过去的数据不对以至于解析错误。
curr_temp变成NaN,原因是+=getTempRate的时候,忘了加(),导致变成了函数而不是数字,
发现stopWind后紧接着就supplyWind,经过xhr断点调试,发现是supplyWind的条件写错了
还有last_target_temp是字符串,而不是整型。
input的value默认是字符串,需要转数字
设置温度并未进行排队操作。而是一点就开始发请求。这一点尚未解决。本来想打断点跟踪变化的,无奈发现,我触发onclick的确停在断点处,但是我没办法再去点击按钮。于是无法去调试,让一秒内多次点击只发送最后一次请求。。。
断点不要打在选择器上,因为被执行的是方法内的函数
ctrl+o,搜js文件