angular框架,库,是一款非常优秀的前端高级JS框架,有了这个框架就可以轻松构建SPA应用程序,通过指令宽展了HTML,通过表达式绑定数据到HTML。

轻松构建SPA应用程序,单一页面应用程序

http://www.cnblogs.com/powertoolsteam/p/angularjs-introdection.html

http://www.apjs.net/

http://www.angularjs.cn/

http://docs.angularjs.cn/api

https://material.angularjs.org

http://angular-ui.github.io/

更少的代码,实现更强劲的功能

[外链图片转存失败(img-HSRDgmSj-1563690800882)(https://upload-images.jianshu.io/upload_images/11158618-3f278ee6f6c7fc61.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

[外链图片转存失败(img-XMuEZKk2-1563690800886)(https://upload-images.jianshu.io/upload_images/11158618-3a2e50c85d2e7d98.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

传统方式实现加法运算

[外链图片转存失败(img-UqCMrU0F-1563690800886)(https://upload-images.jianshu.io/upload_images/11158618-69a14966afc61656.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

Angular实现加法运算

[外链图片转存失败(img-TGDvy7Nw-1563690800888)(https://upload-images.jianshu.io/upload_images/11158618-5ea12ec8859bd400.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

传统方式实现数据列表呈现

[外链图片转存失败(img-ZGMi83kB-1563690800889)(https://upload-images.jianshu.io/upload_images/11158618-b488273f7a6a4d90.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

[外链图片转存失败(img-gxIYPbJe-1563690800892)(https://upload-images.jianshu.io/upload_images/11158618-7ac2a8e2422e85ea.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

AngularJS

MVC

模块化

自动化双向数据绑定

指令系统

下载 Angular.js 的包

https://github.com/angular/angular.js/releases

使用 CDN 上的 Angular.js

http://apps.bdimg.com/libs/angular.js/1.4.9/angular.min.js

使用 Bower 安装

bower install angular

使用 NPM 安装

npm install angular

创建一个新的HTML文件

[外链图片转存失败(img-UVDyruFc-1563690800894)(https://upload-images.jianshu.io/upload_images/11158618-684bd9d5d860ccaa.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

HTML 页面中 ng-xxx 的属性称之为指令

ng-app 指令告诉 AngularJS,

元素是 AngularJS 应用程序管理的边界

ng-model 指令把文本框的值绑定到变量 name 上

Angular 最大程度的减少了页面上的 DOM 操作

让 JavaScript 中专注业务逻辑的代码

通过简单的指令结合页面结构与逻辑数据

通过自定义指令实现组件化编程

我们需要本地运行 Angular 文档

下载最新的 Angular 包

MVC 是一种应用程序的开发思想

为了解决应用程序展示结构,业务逻辑之间的紧耦合关系

模型

处理数据和业务逻辑

视图

向用户展示数据

控制器

组织调度相应的处理模型

AngularJS很重要的一个特性就是实现模块化编程

var myApp = angular.module(“MyApp”, []);

控制器

angular.module('OneApp', [])
.controller('HelloController', [
'$scope',
function($scope) {
$scope.p = {
name: 'zhangsan'
};
}
]);

控制器

为应用中的模型设置初始状态

通过$scope对象把数据模型或函数行为暴露给视图

监视模型的变化,做出相应的动作

// 监视购物车内容变化,计算最新结果
$scope.$watch(‘totalCart’, calculateDiscount);

scope(上下文模型)视图和控制器之间的桥梁用于在视图和控制器之间传递数据利用scope(上下文模型)
视图和控制器之间的桥梁
用于在视图和控制器之间传递数据
利用scope(上下文模型)视图和控制器之间的桥梁用于在视图和控制器之间传递数据利用scope暴露数据模型(数据,行为)

AngularJS 表达式可以包含字母,操作符,变量

ng-repeat指令用来编译一个数组重复创建当前元素

<ul class="messages">
<li ng-repeat="item in messages track by $index">
{{item}}
</li>
</ul>
<ul class="messages">
<li ng-repeat="item in messages track by $index" ng-class="{red:item.read}">
{{item.content}}
</li>
</ul>

ng-show/ng-hide 指令

ng-link/ng-src 指令

<!-- 浏览器在解析HTML时会去请求{{item.url}}文件 -->
<img src="{{item.url}}">
<!-- 可以使用ng-src解决该问题 -->
<img ng-src="{{item.url}}">

ng-model

ng-class

ng-show/ng-hide/ng-if

ng-click

ng-link/ng-src

过滤器(Filter)

过滤器的主要用途就是一个格式化数据的小工具,

date 过滤器

<span>{{'1284893553026' | date:"MM/dd/yyyy 'at' h:mma"}}</span>

limitto 过滤器

limitto过滤器用于限制一个字符串或数组展示的长度:

<ul class="messages">
<li ng-repeat="item in messages | limitTo:-2">
{{item.content | limitTo:2 }}
</li>
</ul>

filter过滤器会根据设置的检索数据过滤未匹配到的数据内容

<ul class="messages">
<li ng-repeat="item in messages | filter:{content:123}">
{{item.content}}
</li>
</ul>

Form 表单 – 验证规则

必填项 required or ng-required

最小长度 minlength or ng-minlength

最大长度 maxlength

类型 type(number、email)

服务(Service)

公用(公共)的业务逻辑集中存放的一段代码

通过模块的service方法创建一个服务:

var myApp = angular.module('MyApp', []);
// 通过factory方法创建一个公用的service
var userService = myApp.service('UserService', function() {
var users = { 1: 'zhangsan1', 2: 'zhangsan2' };
return {
getUser: function(id) {
return users[id];
},
addUser: function(id, name) {
users[id] = name;
},
};
});

$http服务是AngularJS中处理AJAX的服务

// Simple GET request example:
$http({
method: 'GET',
url: '/someUrl'
}).then(function successCallback(response) {
// this callback will be called asynchronously
// when the response is available
}, function errorCallback(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});

MVC

Model(数据模型,业务逻辑)

View(界面展示,展示结构)

Controller(控制器,控制逻辑)

[外链图片转存失败(img-N8IwiIAh-1563690800895)(https://upload-images.jianshu.io/upload_images/11158618-610f34fe5d36d11d.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

AngularJS实现了双向数据绑定


请点赞!因为你们的赞同/鼓励是我写作的最大动力!

欢迎关注达叔小生的简书!

这是一个有质量,有态度的博客

[外链图片转存失败(img-srRjojvx-1563690800898)(https://upload-images.jianshu.io/upload_images/11158618-9ab0d3fef85d80ce?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

(4)Angular的开发的更多相关文章

  1. VS2017的MVC和Angular联合开发的配置文件作用

    在通过MVC和Angular联合开发项目时,项目里有几个重要的配置文件,下面列出这几个配置文件的分析和比较: 主要配置文件有appsettings.json,tsconfig.json,package ...

  2. 安装Angular CLI开发工具

    目前,无论你使用什么前端框架,都必然要用到NodeJS工具,Angular也不例外,与其他框架不同的是,Angular一开始就使用"全家桶"式的设计思路,因此@angular/cl ...

  3. Angular企业级开发(5)-项目框架搭建

    1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...

  4. Angular企业级开发-AngularJS1.x学习路径

    博客目录 有链接的表明已经完成了,其他的正在建设中. 1.AngularJS简介 2.搭建Angular开发环境 3.Angular MVC实现 4.[Angular项目目录结构] 5.[SPA介绍] ...

  5. Angular企业级开发(2)-搭建Angular开发环境

    1.集成开发环境 个人或团队开发AngularJS项目时,有很多JavaScript编辑器可以选择.使用优秀的集成开发环境(Integrated Development Environment)能节省 ...

  6. Angular企业级开发(6)-使用Gulp构建和打包前端项目

    1.gulp介绍 基于流的前端自动化构建工具,利用gulp可以提高前端开发效率,特别是在前后端分离的项目中.使用gulp能完成以下任务: 压缩html.css和js 编译less或sass等 压缩图片 ...

  7. Angular企业级开发(7)-MVC之控制器

    1.MVC中的控制器 AngularJS的控制器主要为了把模型和视图连接在一起.大多数业务逻辑操作都会放在视图对应的控制器中.当然如果我们能够把业务逻辑放到后端的REST服务中,就可以开发轻量级Ang ...

  8. 52abp框架asp.net core & Angular快速开发实战视频教程

    课程标题 52abp框架asp.net core & Angular全栈开发实战视频课程 课程简介 从零开始学 52ABP企业开发框架,企业项目是如何开发和技术选型,代码如何管理,团队协同开发 ...

  9. angular 4 开发环境下打包文件过大

    angular 4本地开发环境下,ng server -- port 8080 -o 之后在在浏览器中查看数据请求,其中vendor.bundle.js有8.3mb,而整个传输数据大小为16.3mb ...

  10. Angular 项目开发中父子组件传参

    在项目开发中经常会遇到 组件之间传参的问题.今天总结下在使用angular的项目中父子组件传参的问题: 1.父组件向子组件传参: 然后在父组件中 然后在父组件的html中 然后就可以在子组件中使用了 ...

随机推荐

  1. IIS配置文件的XML格式不正确 applicationHost.config崩溃

    错误提示如图: 检查C:\Windows\System32\inetsrv\config目录下的applicationHost.config文件,备份一份. 可使用IIS提供的AppCmd.exe的r ...

  2. 【转载】 C#使用Math.PI常量来表示圆周率

    在C#中计算圆形面积的时候,我们时常会用到圆周率这个变量,圆周率我们一般定义为十进制decimal类型变量,圆周率的值为3.1415926535等一个近似值,其实在C#的数值计算类Math类中,有专门 ...

  3. SSM框架之MyBatis入门介绍

    一.什么是MyBatis? MyBatis源自Apache的iBatis开源项目, 从iBatis3.x开始正式更名为MyBatis.它是一个优秀的持久层框架. 二.为什么使用MyBatis? 为了和 ...

  4. Spring 历史漏洞复现

    1.Spring Security OAuth2.0 (CVE-2016-4977) 这个洞是由于Spring Security OAuth2.0的功能,在登录成功之后由于response_type不 ...

  5. Map转url ,url转Map工具类

    /** * 将url参数转换成map * @param param aa=11&bb=22&cc=33 * @return */ public static Map<String ...

  6. python智能提取省、市、区地址

    工具原文 https://github.com/DQinYuan/chinese_province_city_area_mapper 说明: https://blog.csdn.net/qq_3325 ...

  7. net 与或非

    && op1 && op2 当op1和op2都是true时,返回true :如果op1的值是false,则不运算右边的操作数 || op1 || op2 当op1和op ...

  8. javascript_19-DOM初体验

    DOM DOM: 文档对象模型(Document Object Model),又称为文档树模型.是一套操作HTML和XML文档的API. DOM可以把HTML和XML描述为一个文档树.树上的每一个分支 ...

  9. 空指针异常:解决 RequestContextHolder.getRequestAttributes()为空的问题

    现象:实现Feign请求拦截器时,执行如下代码,报空指针异常 ServletRequestAttributes attributes = (ServletRequestAttributes) Requ ...

  10. 【转】DSP动态内存分配函数的使用

    DSP里的动态内存分配,其分配的内存区域在在堆(heap)中.同时DSP里动态分配内存的函数还有calloc以及reclloc.这些动态分配的内存放置在.system段的全局池或堆(heap)中.因此 ...