发表于: 2020-06-06 23:26:33
1 2338
今天
继续研究下实现该日期禁用方法。之前没使用过getTime()方法,搜索了一下是获取当天午夜的日期
暂时找不到方法让数据的小时分钟归零。先把这个问题搁置了。
继续之前的日期禁用方法,双向绑定请求参数的创建时间。
这两个日期选择框都是创建日期,若是绑定同一个请求参数的话,会导致两个框相同的数值。
暂时有些懵,不知道拿什么来请求一个时间区域。
问了下师兄,原来接口文档里的就是时间区域。。
这下双向绑定开始结束时间就可以了,尝试之后请求是404,打印了一下日期,
这是一个data时间戳?搜索了一下时间转换为毫秒的方法,getTime()
直接在ngmodel写getTime方法行不通,只能写一个变量,然后给参数赋值这个变量了。
直接赋值的情况下报错,问了下师兄,结果是和我之前的设置一个道理,几天前我也是写了一个双向绑定的变量,直接给参数。page:变量,导致的问题是page并没有读取到实时变化的变量,只是我初始设定赋值的变量。也就是一个空值,导致page永远为默认值1.
解决方法是写一个方法,return出来想要的那个参数。这样写的话耦合度会比较低。
根据师兄的说法是要降低耦合,关于耦合一直不怎么理解:
搜索了一下:
衡量模块独立性的定性标准是内聚(一个模块内各个元素彼此结合的紧密程度)和耦合(一个软件结构内不同模块之间互连程度的度量)。
代码的耦合度,是指代码中的单元代码的紧密程度,其中一个单元代码的更改对其它单元代码的影响力与作用。代码间的耦合度越高,系统就在变动时就更加难以控制,但并非不能控制,只是你将为此付出巨大的代价。
不同元素之间互相影响的程度即为耦合。代码应该以低耦合为标准
内聚,更为专业的说法叫功能内聚,是对软件系统中元素职责相关性和集中度的度量。如果元素具有高度相关的职责,除了这些职责内的任务,没有其它过多的工作,那么该元素就具有高内聚性,反之则为低内聚性。也就是模块的独立性。
时间选择框暂时不清楚如何去除禁止选中,目前是实现了选择时间的功能,其余的先搁置了。
实验了几次,试着把日期选择框的双向绑定数据赋值为0或者等于null或空串,都不行,想起来直接设定请求参数为空串
结果是成功
接下来写selector下拉框的关联参数。
还得去学习下如何绑定ng-zorro的selector数值。
同样写一个ngmodel绑定,尝试打印是成功的,但是问题是打印出来是字符串而不是序号,在接口请求的时候是数字而不是字符串,然后这里使用的是直接写的选项,问了下师兄。。nzValue就是值。。。文档没好好看的后果。
修改了一下,现在返回值为0了
双向绑定的值,写了个方法,应该算是解耦吧。
然后是状态下拉框,本来以为和type框一样。。。结果文档归档要number,而我返回的是字符串。
本想看看怎么在请求参数里面规定number,然后问了下师兄结果是跟我双向绑定的那个参数相关的,那个参数是字符串那么传进去就是字符串,还是得先转换字符串为数字。很少转换过搜了一下一般情况下使用parselnt就可以了。
添加一个数字转换就可以了。
又出现一个问题,就是选全部的话,报错nan,意为not a number,
师兄交了一个与运算符判断,说是简易三元运算符。
暂时有点没搞懂这个&&的判断,说是判断false,true
查了下算是清楚了,这也可以算是一个判断了。
根据师兄的说法,直接使用请求参数的某个值进行双向绑定,是比较好的方法,一时没有转变过来思路,之前都是使用变量。
直接绑定的话就方便很多了。
当然也有绑定不了的,需要进行类型转的,那么就需要写一个方法,进行转换。转换成数字方法。
有一个问题,默认的状态为空值,尴尬的是,空值无法点击搜索按钮获取数据
而另一个下拉栏给了一个默认值空串,然后空串就是全部了。
写了下空值,完成。。因为我转换过了。。之前失败是因为该空值是字符串的空值。。导致我转换数据类型后没有再尝试了。。尝试过了undefined,null或者0,要么报错要么搜索不到数据。
明天:
继续任务步骤:接下来是url路径跳转,关于路由的设置,然后就基本完成该任务了。
收获和疑惑:
收获在今天那里了。对于这个任务的进度比较慢,原因是钻了不少牛角尖,以及思维还没转换过来,还处于以变量为主的思维。
转牛角尖研究一天多的时间去搞日期栏,但是还是没有研究出来解决方法,但是对于日期算是比较了解一点了,看了些关于日期的文章,虽然没详细研究。对于今天的关于双向绑定和转换数据类型,解耦,算是比较深刻的了解吧,写一个方法进行数据转换,return出去的数据和原本的变量就变得没那么大的耦合度了,只有数据是相关的。
评论