这篇主要讲解非入侵式javascript.

在传统的前端开发中,把js写在html中,称为入侵式的javascript:

<span id="select_area" onclick="..." </span>

这种做法由于没有把视图和行为分离,而且不易于维护管理,所以已经被淘汰掉.

但是,angular通过改进,很好的解决了这个问题.称为声明式事件处理器.

<!DOCTYPE html>
<html ng-app>
<head><title>3.1.非入侵式js</title><meta charset="utf-8"><script src="../angular.js"></script><script src="script.js"></script>
</head>
<body><div class="navBar" ng-controller="NavController"><span ng-click="doSome()">A</span></div><div class="content" ng-controller="ContentController"><span ng-click="doSome()">B</span></div>
</body>
</html>

页面中的两个span元素都绑定了点击事件回调:doSome()

使用angular的声明式事件处理器,可以兼容所有的浏览器,并且不会再全局命名空间中进行操作.

比如这里的doSome函数,他们都是在各自的作用域下的函数,作用域取决于元素所在的控制器:

function NavController($scope) {$scope.doSome = function(){alert('a')};
}
function ContentController($scope) {$scope.doSome = function(){alert('b')};
}

所以,angular的事件处理器,看似使用了入侵式的javascript,但其实,它有很好的可读性,简单性,可扩展性.

angular学习笔记(六)-非入侵式javascript相关推荐

  1. Java学习笔记 六、面向对象编程中级部分

    Java学习笔记 六.面向对象编程中级部分 包 包的注意事项和使用细节 访问修饰符 访问修饰符的注意事项和使用细节 面向对象编程三大特征 封装 封装的实现步骤(三步) 继承 继承的细节问题 继承的本质 ...

  2. JS学习笔记六:js中的DOM操作

    1. JS学习笔记六:js中的DOM操作 文章目录 1. JS学习笔记六:js中的DOM操作 1.1. 获取Dom节点 1.2. 元素属性的操作方式 1.3. DOM节点的创建.插入和删除 1.4. ...

  3. Polyworks脚本开发学习笔记(六)-比较运算、数学运算、逻辑运算及流程控制

    Polyworks脚本开发学习笔记(六)-比较运算.数学运算.逻辑运算及流程控制 前言 比较运算.逻辑运算及流程控制是编程的基本语法,Polyworks的语法规则与VB/C#/Python等并没有很大 ...

  4. Ethernet/IP 学习笔记六

    Ethernet/IP 学习笔记六 EtherNet/IP defines two primary types of communications: explicit and implicit (Ta ...

  5. 吴恩达《机器学习》学习笔记六——过拟合与正则化

    吴恩达<机器学习>学习笔记六--过拟合与正则化 一. 过拟合问题 1.线性回归过拟合问题 2.逻辑回归过拟合问题 3.过拟合的解决 二. 正则化后的代价函数 1.正则化思想 2.实际使用的 ...

  6. ROS学习笔记六:理解ROS服务和参数

    ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...

  7. opencv 手选roi区域_【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

  8. Python学习笔记六——画小猪佩奇

    目录 Python学习笔记六--画小猪佩奇 画布 画笔 属性设置 操纵命令 运动命令 画笔控制命令 全局控制命令 其他命令 Python学习笔记六--画小猪佩奇 使用Python的turtle库可以绘 ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

最新文章

  1. 时髦的互联网公司都在用什么技术?
  2. 智源研究院发布世界首个“机器学习通用数学符号集”
  3. 谷歌 Java 编程风格指南
  4. UITableView移除某一行cell的分割线
  5. knn 邻居数量k的选取_选择K个最近的邻居
  6. php实现开关效果代码,JavaScript实现开关效果的代码分享
  7. phpcms v9二级栏目生成到根目录后三级栏目无法访问的解决办法
  8. javascript 正则
  9. 2020全国计算机二级office大纲,2018-2020年(最新)全国计算机等级考试二级MS Office高级应用考试大纲...
  10. 聚宽 get_price 多个股票数据_上证指数(000001)股票历史数据,下载上证指数(000001历史数据_股票股市历史数据下载股票数据网...
  11. My Firest FireMonkey App
  12. python爬虫学习(循环爬取网页链接)
  13. 网页保存PDF 保留文字 删除页面 裁剪页面 删除不需要的内容
  14. 2020华师计算机基础客观作业,华师13春计算机基础作业
  15. 显示器接口_选购电脑显示器最常见的几种接口介绍和应用场景
  16. C语言人机大战之三字棋博弈
  17. SpringCloud 第十章 Hystrix断路器
  18. 全域赋能和智慧全球,阿里巴巴大数据技术前瞻与案例
  19. 格式化移动硬盘:Windows/Ubuntu/Mac OS系统全兼容,可读写
  20. 【学习笔记】零基础入门NLP - 新闻文本分类实战

热门文章

  1. 话里话外:参展管理信息化年会 聚会谈咨询需求有市场
  2. VMware 修复 NSA 报告的 0day
  3. 聚焦BCS|吴云坤产业峰会演讲:用内生安全框架提升网络安全产值
  4. thinkphp源码分析(三)—自动加载篇(Loader的分析)
  5. 20155229《网络对抗技术》Exp2:后门原理与实践
  6. Android 6.0 Permission权限与安全机制
  7. systemd 与 sysVinit 彩版对照表
  8. 每周工作量及时间统计
  9. asp.net的快捷实用分页类
  10. 用memoization优化递归算法[JS/PHP实现]