看了一天的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. LeetCode 893. Groups of Special-Equivalent Strings (特殊等价字符串组)

    题目标签:String 题目可以让在 偶数位置的 chars 互换, 也可以让 在 奇数位置的 chars 互换. 所以为了 return 正确的 group 数量,需要把 那些重复的 给排除掉. 可 ...

  2. 拥抱开源——Linux C/C++程序猿必须熟悉的开源项目

    作为一个经验丰富的Linux C/C++程序猿, 肯定亲手写过各种功能的代码, 比方封装过数据库訪问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件訪问的类. 封装过UI界面库等. 也在实 ...

  3. java学习笔记:Eclipse打开现有项目

    初学JAVA,觉得困难重重. 多年来,已经习惯了微软系列的VS,现在使用Eclipse,觉得差别很大. 比如打开一个现有项目.并没有什么所谓的项目文件,如*.sln,*.cproj什么的.那怎么打开? ...

  4. 速度上手LM4F LaunchPad 输出多路PWM波

    最近转战到TI的Cortex M4平台后,发现网上关于TI的LM4F120 Launchpad 资料太少了,而且其中大部分都是TI员工或者其合作伙伴提供的,例程太少,导致新手上手很慢. 我只是要实现几 ...

  5. RK平台Android4.4 添加一个新的遥控器支持以及添加特殊按键【转】

    本文转载自:http://blog.csdn.net/coding__madman/article/details/52904063 版权声明:本文为博主原创文章,未经博主允许不得转载. 瑞芯微平台 ...

  6. bzoj 3301 Cow Line

    题目大意: n的排列,K个询问 为P时,读入一个数x,输出第x个全排列 为Q时,读入N个数,求这是第几个全排列 思路: 不知道康拓展开是什么,手推了一个乱七八糟的东西 首先可以知道 把排列看成是一个每 ...

  7. openstack instance resize to rebuild

  8. 9.23 NOIP模拟题(数学专练)

    数论基础 专题测试  命题人:清华大学 王赢绪 /* 水题 答案为C(n-k,m-1) 预处理阶乘和逆元,O(1)算答案 开始读错题了!!!朱一乐!!! */ #include<iostream ...

  9. AngularJS过滤器filter-保留小数-渲染页面-小数点-$filter

    AngularJS      保留小数 默认是保留3位 固定的套路是 {{deom | number:4}} 意思就是保留小数点 的后四位 在渲染页面的时候 加入这儿个代码 用来精确浮点数,指定小数点 ...

  10. android 中的Context(一)

    context的功能如此强大,它是activity的父类. public abstract class Context { ... public abstract Object getSystemSe ...