angular学习笔记(二)

基本概念有如下几个重要的点:

  1. MVC的概念:

    • MV是可复用的
    • MVC是手段,目标是实现模块化,可复用
    • 当然,前端的特性也会给前端MVC带来一定的困难
    • Angular的MVC借助$scope实现

    controller:

    • 不要试图复用controller,不要在controller中操作DOM
    • 要分清楚功能,该做什么,适合做什么,有的功能别的去做了,就不要去做
  2. 路由,模块,依赖注入

    这里面说下:
    1. 首先:路由功能在angularJS中是在不太好用,所以我们的项目用了UI-router,然后angular4那个项目中说到了4的路由功能已经很完善了。
    2. 第二点:AngularJS中还是以模块为基本,一切从模块出发;angular4中则是以组件为基本,一切从组件出发,当然,这也是现在各个框架的一个发展趋势。
    3. 第三点:依赖注入,解决了模块依赖的问题,这个可以深入了解下原理,还是很有趣的。(这里想到了异步的模块加载,AMD机制,以后可以专门写个这个,这个也是看深入浅出NodeJS里面开始系统的了解的)

  3. 双向数据绑定
    AngularJS是数据驱动的,所以视图层的展现,主要依赖数据模型的改变。这也是双向数据绑定带来的一个便利之处,可以通过在controller修改数据,改变视图的展现,而不必关心具体的DOM操作。
    class = “text-{{abc}}”,如果想避免一些状况,还有ng-class.可以接收表达式。
    ng-show,ng-hide
    toggle(开关效果)
    ngAnimate
    @keyframes CSS3动画

  4. 路由
    Ajax不会留下History记录,用户没法加书签,也没法链接分享,SEO灾难
    angular-route.js 没法实现深层次嵌套路由
    ui-router, stateProvider, urlRouterProvider

    前端路由:
    哈希#
    html5中新的historyAPI
    路由的核心是给应用定义“状态”
    路由机制——应用的整体编码方式(需要预先定义好状态)
    兼容性,优雅降级*

  5. 指令
    restrict:匹配模式(AEMC)
    template
    replace/transclude

    complie,link 加载,编译,链接
    link中操作DOM,绑定事件监听器

    指令和控制器
    tips:如果在html中用驼峰法则写的,js中要小写
    scope.$apply(attrs.howtoload)

    指令和指令
    AngularJS 内置了 jquery lite
    controller,link

    独立scope

    scope的绑定策略(@ = &)

    AngualrJS内置指令:
    ng.Directive
    (form)对原生的进行了拓展,封装等

    第三方指令库(angula-ui)

    miniui.com(ERP类型系统)
    kissy gallery
    ng-grid 封装data grid

Misko:设计理念——构建UI应该是声明式等。
灵感——Adobe公司从事FLEX工作

6. service和provider
不要试图复用controller
$http Ajax比较像

可以封装自己的服务(命名,依赖注入放在最后)

$scope.$watch()

timeout=>防抖动处理
Service 都是单例,由$injector负责实例化,在整个应用的生命周期中存在

ServiceProviderFactory本质上都是Provider(策略模式+抽象工厂模式的混合体)

$filter进行数据格式化的,可以自定义
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值