angularjs 学期下拉列表指令

目标效果:
当激活学期后,课程管理首页和增加课程的学期列表默认选中当前激活学期,而编辑课程时默认选中该课程所在学期
angularjs 学期下拉列表指令

angularjs 学期下拉列表指令

angularjs 学期下拉列表指令

angularjs 学期下拉列表指令

最初的想法:
service层从后台请求到当前学期返回给c层,然后在c层将当前学期绑定到v层传递给指令,同时将选择的对象绑定到指令上,当指令监听到当前学期时则将其设置成默认选项,当指令监听到选项改变时,则将改变后的学期传给绑定的对象
angularjs 学期下拉列表指令

但学长说这样写不好,代码冗余,就帮我重新写了一种。
只要绑定一个对象给指令就行,当绑定的内容为空,则将后台请求来的当前学期设为默认选项,如果不为空,则默认选项就是传进来的对象,当指令监听到选项发生变化时,则将变化后的选项传给绑定的对象。这样一来就能少绑定一个对象给指令,并且还能少写一个监听。
angularjs 学期下拉列表指令

最后的代码实现

angularjs 学期下拉列表指令

angularjs 学期下拉列表指令

总结

这周在前台遇到了困难,主要是滥用监听和回调,导致代码非常冗余繁琐,设计得不够简洁清晰,总是把简单的问题想复杂。

相关推荐