zoukankan      html  css  js  c++  java
  • angular学习笔记(六)-非入侵式javascript

    这篇主要讲解非入侵式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,但其实,它有很好的可读性,简单性,可扩展性.

  • 相关阅读:
    SSL工作原理
    xmlhttprequest对象
    form验证的图片(小技巧)
    C#转码
    引用不了App_Code里的类
    再谈如何成为技术领袖
    如何做好年末总结?
    编程习惯
    软件人员推荐书目(都是国外经典书籍!!!)
    又当爹又当妈的产品经理
  • 原文地址:https://www.cnblogs.com/liulangmao/p/3716181.html
Copyright © 2011-2022 走看看