zoukankan      html  css  js  c++  java
  • angular学习笔记

    时隔一年之后重新学习angularJS,感慨良多。

    去年刚刚接触web编程的时候,朋友告诉我angularJS很好用,于是在仅仅了解HTML和css开始学习angularJS,困难程度可想而之,而且并不明白其价值,武断的认为通过服务端可以不需要angular之类的工具解决所有问题。一年之后,对js的语法相对熟悉,尝试过自己写一个网站之后,不但非常快速的掌握了angularJS的大致内容,而且明白angular的价值。由此也可以说明只有在大量的实践之后,自身抽象问题的能力才会提高。

    angularJS提出了一些概念:模块(module),服务(service),controllor,routeProvider,filter等概念。那么每个概念是什么意思呢?概念之间又有什么关系呢?

    module可以理解成一个完整的程序,它有属于自己的controllor,routeProvider,filter,依赖的service和module等。

    service可以理解成一个全局的库函数,可以自定义,angularJS可以自动寻找依赖。很多时候通过$http或者封装$http服务向后台请求数据。

    controllor可以用来操作数据,由用户自己定义。

    routeProvider和django中的urlpattens做了相同的工作,即根据http请求的不同函数向用户展示不同的页面。

    filter可以用来筛选一些数据,和字面意思一样。

    通常,我们自定义一个自己的模块,通过routeProvider定义每一个请求所对应的页面的模版和controllor,每一个controllor为了减少代码重复,使逻辑更清楚,可以选择性使用service。在需要对数据做过滤的时候使用filter,这样大致构成了一个简单的基于angular的应用。

    angular的好处:

    对于用户来说,抽象程度很高,实现了数据的双向绑定又屏蔽了繁杂的DOM操作,在页面业务逻辑简单的情况下,开发及其及其简单。

    angular的不足:

    封装了原生的DOM接口,可能会引起渲染效率的下降。

    其余值得思考的问题:

    routeProvider所做的工作在服务端完成还是在客户端完成合适?(目前思路是需要测试一定情况下两者效率的差距,如果效率相差不大,我倾向于在客户端完成这项工作)。

  • 相关阅读:
    array_merge
    漏斗模型
    3 破解密码,xshell连接
    2-安装linux7
    1-Linux运维人员要求
    17-[模块]-time&datetime
    16-[模块]-导入方式
    Nginx服务器
    15-作业:员工信息表查询
    14-本章总结
  • 原文地址:https://www.cnblogs.com/Return-0/p/5330390.html
Copyright © 2011-2022 走看看