1.什么是Angular JS?

AngularJS 是一个为动态WEB应用设计的 JavaScript结构框架.

2.Angular JS的用处?

--它是为了克服HTML在构建应用上的不足而设计;

--适用于CRUD应用,是为了消除页面上的DOM操作而生.它的核心理念是借鉴了MVC框架,但是它其实更接近于MVVM.viemmodel是一个原生的javascript对象,angularJS把view和model加到viemmodel上,从而实现数据的绑定.而且这种绑定是双向的,即view变化,对应的model也会变化,同样model发生变化也会引起相应的view的变化.

--主要用来开发单页面应用,它支持浏览器历史操作,向前向后按钮,单页应用中的收藏操作。

--并不是所有的应用都适合用AngularJS来做,如游戏开发之类对DOM进行大量操纵、又或者单纯需要 极高运行速度的应用。

3.Angular JS的特性

--双向数据绑定: 这是AngularJS模块的核心功能——**绑定**,ng-model和{{}}实现的是双向绑定,如果controller和ng-model都存在于一个输入框或元素上的话,页面加载完后,对应元素里会显示controller里设置的默认值,一旦在view人工修改,ng-model就会发生作用.controller控制器,可以实现单向绑定.

--模块化:在AngularJS中,一个模板就是一个HTML文件。AuguarJS并不把模板当做String来操作。输入AngularJS的是DOM而非string。数据绑定是DOM变化,不是字符串的连接或者innerHTML变化。使用DOM作为输入,而不是字符串,是AngularJS区别于其它的框架的最大原因。

--服务和依赖注入:AngularJS拥有内建的依赖注入(DI)子系统,DI允许你请求你的依赖,而不是自己找寻它们,即"被动接受",也就是说如果你需要一个对象或者变量,只要angularJS中自有的,只要声明它,就可以使用.

--指令:Angular JS有很多自有的ng-directives,可以帮助我们操作DOM,另外,我们还可以自定义指令,用angular模块的directive方法.

4.几个重要的物件

-- ng-app:一般家在最外层的根元素上,定义了angularJS脚本的作用域;
-- ng-model:把view上的标签或属性绑定到viemmodel中;
-- {{}}:angularJS的表达式,作用就是把viewmodel中的model显示到view中.
--$scope:这个是angularJS的核心对象,即viewmodel对象,这个对象不能更改,依赖注入方式获得.

5.编写angularJS的基本流程:

页面
-- 首先用<script>标签,导入angular.min.js文件;
-- 一般在根元素<html>里定义angularJS脚本的作用域`<html ng-app="myAPp">`;
-- 定义控制器的作用域,在标签里`ng-controller="myController"`;
-- 数据要绑定到viemmodel的话,在对应的标签上用ng-model指令;或者要显示用{{}}.

js
-- 加载需要的模块`var myApp = angular.module("myApp",[])`;第二个参数,是该模块所依赖的模块,没有的话,可不填写
-- myApp.controller("MyController",function($scope){...};控制器方法调用,回调函数的一个参数务必是$scope,这样才能获取到$scope,从而操纵数据.

Angular JS知识小总结的更多相关文章

  1. 【Todo】React & Nodejs学习 &事件驱动,非阻塞IO & JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可

    JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可 今天在学习ReactJS和NodeJS,看到关于ReactJS的这篇文章 ...

  2. Asp.Net Mvc+Angular.Js自测小Demo

    参考:http://www.cnblogs.com/eedc/p/6082052.html 一.引用anguler: 1.angular.js 2.angular-route.js 3.app.js ...

  3. angular js jquery中post请求的一点小区别

    这也是最近遇到的坑,还是之前那个项目,现在要实现登录功能. 背景:注册功能之前已经跑通了.前端用的是jquery后台是springMVC.鉴于注册和登录有些接口功能是类似的(比如注册确保邮箱是没有注册 ...

  4. Angular.js路由 简单小案例

    代码案例: <html> <head> <meta charset="utf-8"> <title>AngularJS 路由实例&l ...

  5. Angular.js 的初步认识

    MVC模式 模型(model)-视图(view)-控制器(controller) Angular.js采用了MVC设计模式的开源js框架 1.如何在angular.js建立自己的模块(model),控 ...

  6. Angular JS中$timeout的用法及其与window.setTimeout的区别

    $timeout的用法 angular.js的$timeout指令对window.setTimeout做了一个封装,它的返回值是一个promise对象.当定义的时间到了以后,这个promise对象就会 ...

  7. angular.js 例子

    angular.js是一个前端的MVC框架,12年的时候曾近在一个portal平台的项目中使用过. 下面给出一个angular.js的典型例子,涵盖一些基础的知识点,用以复习备忘: <html ...

  8. angular.js初探

    2015年7月27日 22:26:35 星期一 用在我论坛里的小栗子: 先列出来一级回帖, 点击帖子前边的"查看回复"按钮无刷新的去请求该帖子的所有回复 首先要引用js文件, 我这 ...

  9. 精通 Angular JS 第一天——Angular 之禅

    简介 Angular JS是采用JavaScript语言编写的客户端MVC框架,它为业界带了重大的变化,包括对模板化的创新实现,以及数据的双向绑定,这些特性使得它强大而易用.它可以用来帮助开发者编写单 ...

随机推荐

  1. spring aop切面中获取代理bean的名字以及bean

    //切面中搞: Map<String , Object> map = (Map)ApplicationContextHelper.getBean(proceedingJoinPoint.g ...

  2. kubernetes监控-prometheus(十六)

    监控方案 cAdvisor+Heapster+InfluxDB+Grafana Y 简单 容器监控 cAdvisor/exporter+Prometheus+Grafana Y 扩展性好 容器,应用, ...

  3. C++容器类-list

    C++ 表(List容器类) 一.概念 头文件:#include <list> 又叫链表,是一种双线性链表,只能顺序访问(从前往后或从后往前) 他不支持随机访问. 二.方法 #includ ...

  4. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'fundService': Injection of resource dependencies failed;

    在进行SSM的Controller的编写, 从浏览器访问后端Controller的时候遇到了这个问题. 这个问题的描述: 创建Bean的对象失败 错误代码如下: @Service("fund ...

  5. 将一个double类型的小数,按照四舍五入保留两位小数.

    package come.one01; public class One02 { public static void main(String[] args) { double numa = 3.14 ...

  6. 安装JDK1.8以及配置环境变量的步骤

    一. 首先到官网下载jdk1.8,下载的版本分为windows和linux,这里需要安装操作系统进行下载.我的是64位就下载x64,32位系统则下载x86 二. 然后就是安装,双击进行安装,这里不用更 ...

  7. 点击按钮在表格的某一行下,在添加一行(HTML+JS)

    使用js在指定的tr下添加一个新的一行newTr html代码: <table> <tr> <td>用户名:</td> <td><in ...

  8. C#数组添加元素

    一.向数组添加元素 在C#中,只能在动态数组ArrayList类中向数组添加元素.因为动态数组是一个可以改变数组长度和元素个数的数据类型. 示例: using System;using System. ...

  9. 通过luac编译lua脚本

    在lua官网下载一个lua的release包,里面有已经编译好的lua启动文件(包括lua.exe),其中还有luac.exe, 这个程序是用来将lua文件编译成二进制码, 使用方法很简单,在控制台调 ...

  10. 洛谷 P5016 龙虎斗

    输入兵营总数.兵营人数.以m分界. 然后输入s1个兵到了p1兵营. 最终我们要求的是把s2个兵放到哪个兵营使龙虎双方气势差距最小. 第一要把每个兵营的气势算出来,并且加到它所属的阵营里(<m是龙 ...