重新审视“不唐突”的javaScript

在angular教程中,很容易就能在html里看见这样的代码:

<button ng-click="count = count + 1" ng-init="count=0">OK</button>
 <input type="text" ng-change="myFunc()" ng-model="myValue" />

嗯?不是说好的,没事别用内联样式和事件吗?

印象中,在刚入门的时候,就被前辈们告知,不要使用内联事件处理程序。理由不外乎如下:

  1. 不是所有的浏览器都支持javascript。
  2. 一些浏览器的工作方式并不一样。比如视力障碍人员使用的屏幕阅读器。
  3. javascript在不同的平台,工作机制不一样。比如最有个性的IE。需要根据浏览器不同使用不同的事件处理代码
  4. 内联事件处理程序引用全局命名空间中的函数。当你尝试整合其他库中的同名函数时,它会让你很头疼。
  5. 这些程序合并了结构和行为,将代码变得难以维护、扩展和理解。

但是在angular中,这些问题被重新审视。

嗯,时代已经改变。关于1,这样的浏览器已经被扫进历史垃圾堆。

关于3,angular已处理好浏览器的差异,保证行为一致。

关于4,angular不会在全局命名空间操作。指定的表达式只能访问元素控制器作用域内的函数和数据。

关于5,angular在控制器中,只编写包含业务逻辑的代码,而不必引用DOM、或者DOM事件处理程序。

事实是,angular是一款基于javascript的超赞的框架,(懒惰一定是科技发展的动力之一)

MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等,谁用谁知道ԅ(¯㉨¯ԅ)

原文地址:https://www.cnblogs.com/dodocie/p/6709315.html