angularjs 学期下拉列表指令

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

《angularjs 学期下拉列表指令》

《angularjs 学期下拉列表指令》

《angularjs 学期下拉列表指令》

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

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

最后的代码实现

《angularjs 学期下拉列表指令》

《angularjs 学期下拉列表指令》

总结

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

    原文作者:陈杰
    原文地址: https://segmentfault.com/a/1190000016814883
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞