发表于: 2020-06-07 23:36:08
1 2365
今天
有个问题,昨天写的代码条件搜索,随便搜索一个日期
搜索的数据却是 创建时间——修改时间 的东西。渲染出来的是包含修改时间的东西。
想要根据接口文档的参数进行申请数据,
上面只给出了起始更新时间和终止跟新时间,感觉这样的搜索是个错误的。
认为应该是根据
上面的创建时间?进行搜索,但是这个东西并不在请求参数内。暂且搁置。
接下来写一个日期的判断提示,当选择日期后框大于前框就提示,
点击确定或者取消都是消除input框。尝试了混合条件搜索,暂时没什么问题。
研究了一下如何写创建时间范围的搜索,感觉没法只请求一个参数实现
开始url路由的设置了。根据文档的教程:
那么按照该教程,我的 list/: page 的 page只是一个占位符?
看了下文档的说明,尝试把this给去掉,结果是不进行跳转。左下页脚出现但是没有跳转行为。暂时不清楚原因。
似乎是我没有在home的ts文件获取该listmodul的数据?尝试获取一下该参数。依然是一个无效的状态。
想半天没办法问了下师兄,结果是我的思路和理解出现问题。不因该在跳转的时候设定,而应该在渲染的时候设定路由,我之前的想法是在wellcome页面点击侧边栏跳转的时候路由绑定参数的page,而是应该在该页面进行路由的跳转。
没啥头绪,看了angular的文档。。有些地方看不懂
虽然知道这个是懒加载的写法,loadChildren,但是后面的引用有些看不懂了,看视频学习到的懒加载是直接写相对路径,而这个写的()=>目前知道是指向但是为什么是()不懂,后面的import(‘相对地址’)是引用,再来一个then(m=>m.模块)看不懂。按照语义,then是然后的意思,前面是引入组件,后面是然后m=>指向 m,模块类名,这个m是个啥?搜索了下,m好像是map的简写,
map()
方法创建一个新数组,其结果是该数组中的每个元素都调用一次提供的函数后的返回值。可以说相当于遍历数组调用提供的函数,然后创建一个数组return出去所有经过调用的值。看了文档,觉得这个map简直就是遍历的另一种写法,且返回一个新数组。搜索了一个案例,理解起来更简单
上面的sweetItem就是代表数组的每一个元素,这个名称算是可以自定义的,在map方法里面的写法吧。
因为map
生成一个新数组,当你不打算使用返回的新数组却使用map
是违背设计初衷的,请用forEach
或者for-of
替代。你不该使用map
: A)你不打算使用返回的新数组,或/且 B) 你没有从回调函数中返回值。
箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this
,arguments
,super
或new.target
。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。看了下实例,箭头可以取代function,且无需使用this,
如同左边,当参数只有一个的时候还可省略圆括号。
then()
方法返回一个 Promise
。它最多需要有两个参数:Promise 的成功和失败情况的回调函数。
then方法也是一个判断,有点像三元运算符,判断promise是否正确
Promise编程的核心思想是如果数据就绪(promised),那么(then)做点什么。
根据这个文档的说法,那么结合看到的
懒加载:(函数)=>promise(判断这个import的组件是否正确?)。then(那么)后面的 m 实在没搜索到什么意思,开始以为是map方法。问了下师兄结果是箭头函数的参数。。草。刚学的箭头函数还不熟悉没解析出来。加上一个map方法并没有缩写。
看了下文档,文档的说法是loadChildren属性接受一个函数也就是:后面的都是函数表达式,箭头指向是一个箭头函数
看了下视频,懒加载的话可以不引入任何组件,通过路由直接导航到该模块进行渲染。
懒加载只有在调用的时候才进行引用。会提升运行速度,节省资源。
需要创建该模块,使用指令:ng g c modul进行创建新的模块,而在比较小型的项目一般没必要创建新的模块,在大型项目的时候才需要创建新的模块,因为引入的组件若是几十个上百个的话会导致加载会很慢。这是为什么要创建新的模块。
若是使用懒加载的话,可以该路由文件首个写path:‘ ’component:组件 进行默认组件的加载,
也可以使用path:“**”写在最后,然后使用redirectTo指向某组件来进行默认加载,
这两者的区别是一个是默认加载,一个是搜索不到其他路由被调用时的调用。也可以用来写404报错之类的。
根据以上的思路:
应该是把list整个组件做成一个模块,在里面建立路由文件,按照演示的动图page的页面是在list后面,也就是list的子级路由,那么应该是使用模块进行设置的路由,
同时使用懒加载在根路由文件进行注册,然后在home页面进行调用,还要写一个router-outlet在list的html页面,在list的路由文件默认调用path:‘ ’ component:获取列表组件,默认获取页面1,但是如何动态传值还是懵逼。。使用path的话那么是从组件引用。。应该这个思路是错误的。
搜了下路由传值:
根据视频中的写法:首先在使用routerlink的地方添加一个【queryParams】=‘{name:val}’,这样进行传值。
然后在该组件中引入
构造函数建立实例
可以在初始化函数里面直接打印
使用subscribe方法获取数据就可以获取该 val值了。搜索了一下没看懂官方文档的说法,
官方文档定义是在一个可观察对象里面
搜了下其他的使用subscribe方法在组件实例中监听数据observable数据
大概意思也就是监听并获取数据或值。
明天
理解路由的传值,写完跳转。
疑问:
不知道这样解释是否正确?
懒加载:(空参数)(箭头函数)=>(promise)(判断这个import的组件是否正确?)。then(那么)(参数m=>输出m.组件),
这样的写法和 loadChildren:‘相对路径#该组件类名’ 的优劣?或者说什么情况下要写成上图那样?
评论