看了一天的angular.js,只要记住这是关于双向数据绑定 和单向数据绑定就可以,看看开发文档,短时间内还是可以直接入手的,看个人理解能力(我是小白)。

这几天开始着手学习angularjs的有关知识,将一些心得总结如下:

(一)为了使用Angular,所有应用必须首先做两件事情:

1.加载angular.js库。

既可以从外部调用,如:

<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"> </script>

也可以在本地放入angular.js。

2.使用ng-app指令告诉angular应该管理DOM的哪一部分

(二)MVC风格

1.控制器就是你所编写的类或者类型,它的作用是告诉angular该模型是由哪些对象或者基本数据构成的,只要把这些对象或者基本数据设置到

$scope对象上即可,$scope对象会被传递给控制器:如下

<html ng-app='myApp'>

<body ng-controller="TextController">

<p>{{someText.message}}</p>

<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js">

</script>

<script>

var myAppModule = angular.module('myApp',[ ]);

myAppModule.controller('TextController',

function ($scope){

var someText = {};

sometText.,message = "First data !";

$scope.someText =sometText;});

</script>

</body>

</html>

2.区分UI和控制器的职责

在应用中控制器有三种职责:

(1)为应用中的模型设置初始状态。

(2)通过$scope对象把数据模型和函数暴露给视图(UI模板)。

(3)监视模型其余部分的变化,并采取相应的动作。

为了让控制器保持小巧和可管理状态,建议,为视图中的每一块功能区域创建一个控制器。控制器是绑定在特定的DOM片段上的,

这些片段就是它们需要负责管理的内容。

(三)依赖注入

这个原理简单归纳如下:

高层次模块不应该依赖低层次模块,他们应该依赖于一种抽象。这种抽象不应该依赖细节,细节应该依赖于抽象 。

我只要指出我需要哪些对象,然后就会有人把这个对象给我,而这个“人”可能是一个应用框架(Framework),也可能是测试

容器(Test Runner),我不会关心它是谁,也不用关心它怎么得到这个对象。这个“人”,专业的说法叫“容器”。在Angular中,

所有主要编程元素都需要通过某种方式注册进去,比如myModule.service('serviceName',function()...这实际上就是把后面这个

函数加入到一个容器中。要注意的是,angular全面实现了延迟初始化,也就是说,当这个对象没有被人需要时,它是不会被创建

的,这样对于提高性能有一定的帮助,特别是加快了启动速度。

原文:https://blog.csdn.net/sweety815/article/details/51251373

新手入门学习angular.js的心得体会的更多相关文章

  1. 人工智能新手入门学习路线和学习资源合集(含AI综述/python/机器学习/深度学习/tensorflow)

    [说在前面]本人博客新手一枚,象牙塔的老白,职业场的小白.以下内容仅为个人见解,欢迎批评指正,不喜勿喷![握手][握手] 1. 分享个人对于人工智能领域的算法综述:如果你想开始学习算法,不妨先了解人工 ...

  2. 学习angular.js的一些笔记想法(上)

    1.data-ng-app与ng-app的区别 data-ng-app是为了h5不报错 2.ng-class 不多说就来拿例子说吧 html代码 <div class='color-change ...

  3. Linux系统新手入门学习的四点建议

    随着计算机的普及.互联网的发展,原本黑客手中的攻城利器---Linux,渐渐进入到普通群众的视线里,让越来越多的人接触到Linux,并学习Linux进而投身到Linux运维工作中去.如果大家对Linu ...

  4. 工作流Activiti新手入门学习路线整理

    写在前面: 最近项目中使用到了工作流,虽然此部分不是自己需要完成的,但是也涉及到了要调用写的接口.正好有时间,就了解下,以便之后能在其他项目中用到时,不至于什么都不知道什么都不了解. 这里就主要整理下 ...

  5. 学习asp.net Identity 心得体会(连接oracle)

    asp.net Identity具体功能暂不在此细说,下面主要介绍几点连接oracle注意的事项, 1.首先下载连接oracle驱动Oracle.ManagedDataAccess.dll和Oracl ...

  6. Python新手入门学习常见错误

    当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , ...

  7. 学习 google file system 心得体会

    Google File system文件系统,是在特别便宜的普通硬件设备上运行,它是一个面向大规模数据密集型运用的.可伸缩的分布式文件系统. 与传统文件相比,它认为组件失效是很平常的事件,因为GFS包 ...

  8. GIT新手入门学习教程

    廖雪峰的GIT教程 链接地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  9. Django:新手入门学习资料汇总

    (1)作者(刘江)(神都公务员出身,军工专家,文章详尽全面):http://www.liujiangblog.com/course/django/2 (2)魔力Python:作者(小楼一夜听春语)(文 ...

随机推荐

  1. Java Web开发基础(1)-Servlet

    概述 Servlet技术是对webserver的扩展,要理解这个,可能先了解一下什么是Webserver以及它的功能,特别是它的不足是非常有帮助的,可參考:点击打开链接.另外.Servlet也是一个用 ...

  2. ES 2016+

    ES2016(ES7)新增: Array.prototype.includes Exponentiation Operator 求冥运算 ES2017 (ES8)新增: ECMAScript® 201 ...

  3. tiny4412学习(三)之移植linux-4.x驱动(1)支持网卡驱动【转】

    本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/74160686 一.思路 上一节我们通过DNW将内核.文件系统.设备树文件烧入到内 ...

  4. WPF,Silverlight与XAML读书笔记(3) - 标记扩展

    hystar的.Net世界 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔- 103  文章- 0  评论- 107  WPF,Silverlight与XAML读书笔记(3) - 标记扩展   说 ...

  5. spring web中的filter

    昨天看了会spring web中部分代码,主要是各种filter,回顾一下: Spring的web包中中有很多过滤器,这些过滤器位于org.springframework.web.filter并且理所 ...

  6. D. Toy Sum(cf)

    http://codeforces.com/problemset/problem/405/D 题意:已知集合S={1,2,3......1000000},s=1000000,从集合S中选择n个数,X= ...

  7. [App Store Connect帮助]一、 App Store Connect 使用入门(4)iOS 版 App Store Connect

    通过 iOS 版 App Store Connect,您可以在移动设备上查看销售数据.App 元数据和顾客评论.您还可以检查 App 状态.发布您 App 的新版本并回应“Resolution Cen ...

  8. [Swift通天遁地]五、高级扩展-(8)ImageView(图像视图)的各种扩展方法

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. ZOJ 3666 博弈 SG函数

    SG函数: 对于任意状态,定义SG(x)=mex(S),其中S是x的后继状态的SG函数值集合,mex(S)表示不再S内的最小非负整数 SG(X)=0当且仅当x为必败态. 解: 构造一个有向无环图(树) ...

  10. c# regex Match Matches MatchCollection 用法

    string text = "1A 2B 3C 4D 5E 6F 7G 8H 9I 10J 11Q 12J 13K 14L 15M 16N ffee80 #800080"; Reg ...