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

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

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

最后的代码实现

总结

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

angularjs 学期下拉列表指令相关推荐

  1. AngularJS中的指令全面解析(必看)

    出处: http://www.jb51.net/article/84665.htm 说到AngularJS,我们首先想到的大概也就是双向数据绑定和指令系统了,这两者也是AngularJS中最为吸引人的 ...

  2. 带你走近AngularJS - 创建自定义指令

    带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------- ...

  3. AngularJS 的自定义指令

    这是一篇angularjs自定义指令的教程.就让我们来看看,如何在angularjs中自定义指令吧!我们将利用现有的guitar angularjs app,这在 教程14: AngularJ表单验证 ...

  4. 使用Angularjs的ng-cloak指令避免页面乱码

    在使用Anguarjs进行web开发或者进行SPA(single page application)开发时,往往会遇到下面这样的问题. 刷新页面时,页面会出现一些乱码,这里的乱码具体是指`{{expr ...

  5. 关于Angularjs中自定义指令一些有价值的细节和技巧

    作者:心叶 时间:2018-04-22 10:58 一:自定义指令常用模板 下面是大致的说明,不是全面的,后面来具体说明一些没有提及的细节和重要的相关知识: angular.module('yello ...

  6. AngularJS内置指令

    指令,我将其理解为AngularJS操作HTML element的一种途径.  由于学习AngularJS的第一步就是写内置指令ng-app以指出该节点是应用的根节点,所以指令早已不陌生. 这篇日志简 ...

  7. angularJS在创建指令需要注意的问题(指令中使用ngRepeat)

    现在发现,当初的自己真的是太菜了,为什么你在指令中更改数据,没有作用呢?这其实是原型链的问题. 详细的我就不在这里说了,有位大神早已发布了这个内容,在这里复制个地址给大家,有兴趣的可以看看 http: ...

  8. js下拉 selenium_如何使用Python / Selenium webdriver处理Angularjs / Javascript下拉列表?

    我想在Chromium浏览器上使用 Python和Selenium webdriver自动执行一些浏览器任务.我的python脚本已经能够登录,导航到子页面/做一些点击,并在表单中插入一些东西. 我的 ...

  9. AngularJS中Directive指令系列 - 基本用法

    参考: https://docs.angularjs.org/api/ng/service/$compile http://www.zouyesheng.com/angular.html Direct ...

最新文章

  1. java pkcs1转pkcs8_.NET Core RSA密钥的xml、pkcs1、pkcs8格式转换和JavaScript、Java等语言进行对接...
  2. C++(七)——多态
  3. springMVC如何接收和发送json数据对象
  4. Mac 录制视频,并转为GIF格式
  5. ArcGIS Desktop开发基础(转)
  6. java jpa性能_[Java Performance] 数据库性能最佳实践 - JPA和读写优化
  7. 【渝粤教育】21秋期末考试马克思主义基本原理概论(A)10882k1 (2)
  8. WebCrack:网站后台弱口令批量检测工具
  9. Qt|OpenGL对obj文件的认识以及如何去解析(opengl+qt构造地球模型)
  10. 谈谈互金跟银行里数据逻辑的差异
  11. PHP实现9x9乘法表
  12. AD14,原理图绘制引脚以及引脚名称的修改
  13. wav怎么转换成mp3?步骤详细介绍
  14. 北航计算机学院国家奖学金,2019年经管学院研究生国家奖学金预审结果公示
  15. 体脂率编程c语言,C语言程序
  16. POI - 读取Excel2003、Excel2007的兼容性问题
  17. linux php虚拟主机,linux上php虚拟主机(linux搭建虚拟主机)
  18. 【学习笔记】NIM游戏与SG函数初探
  19. 什么是EJB?EJB是基于哪些技术实现的?
  20. edittext 软键盘上方_Android 软键盘的全面解析,让你不再怕控件被遮盖

热门文章

  1. 解决git pull/push每次都需要输入密码问题
  2. leetcode算法题--Binary Tree Paths
  3. mysql 搜索标题中字符串_如何在MySQL表中搜索特定字符串?
  4. asp.net 开发疑问?
  5. 前端使用 Nginx 反向代理彻底解决跨域问题
  6. 5-1rquests模拟登陆知乎之httpcode
  7. Leetcode-探索 | 存在重复
  8. elk 的报错和优化
  9. 土耳其黑客因窃取信用卡信息被判入狱334年
  10. 分类算法——朴素贝叶斯分类