(4)Angular的开发
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,
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的开发的更多相关文章
- VS2017的MVC和Angular联合开发的配置文件作用
在通过MVC和Angular联合开发项目时,项目里有几个重要的配置文件,下面列出这几个配置文件的分析和比较: 主要配置文件有appsettings.json,tsconfig.json,package ...
- 安装Angular CLI开发工具
目前,无论你使用什么前端框架,都必然要用到NodeJS工具,Angular也不例外,与其他框架不同的是,Angular一开始就使用"全家桶"式的设计思路,因此@angular/cl ...
- Angular企业级开发(5)-项目框架搭建
1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...
- Angular企业级开发-AngularJS1.x学习路径
博客目录 有链接的表明已经完成了,其他的正在建设中. 1.AngularJS简介 2.搭建Angular开发环境 3.Angular MVC实现 4.[Angular项目目录结构] 5.[SPA介绍] ...
- Angular企业级开发(2)-搭建Angular开发环境
1.集成开发环境 个人或团队开发AngularJS项目时,有很多JavaScript编辑器可以选择.使用优秀的集成开发环境(Integrated Development Environment)能节省 ...
- Angular企业级开发(6)-使用Gulp构建和打包前端项目
1.gulp介绍 基于流的前端自动化构建工具,利用gulp可以提高前端开发效率,特别是在前后端分离的项目中.使用gulp能完成以下任务: 压缩html.css和js 编译less或sass等 压缩图片 ...
- Angular企业级开发(7)-MVC之控制器
1.MVC中的控制器 AngularJS的控制器主要为了把模型和视图连接在一起.大多数业务逻辑操作都会放在视图对应的控制器中.当然如果我们能够把业务逻辑放到后端的REST服务中,就可以开发轻量级Ang ...
- 52abp框架asp.net core & Angular快速开发实战视频教程
课程标题 52abp框架asp.net core & Angular全栈开发实战视频课程 课程简介 从零开始学 52ABP企业开发框架,企业项目是如何开发和技术选型,代码如何管理,团队协同开发 ...
- angular 4 开发环境下打包文件过大
angular 4本地开发环境下,ng server -- port 8080 -o 之后在在浏览器中查看数据请求,其中vendor.bundle.js有8.3mb,而整个传输数据大小为16.3mb ...
- Angular 项目开发中父子组件传参
在项目开发中经常会遇到 组件之间传参的问题.今天总结下在使用angular的项目中父子组件传参的问题: 1.父组件向子组件传参: 然后在父组件中 然后在父组件的html中 然后就可以在子组件中使用了 ...
随机推荐
- go 读取BMP文件头二进制读取
BMP文件头定义: WORD 两个字节 16bit DWORD 四个字节 32bit package main import ( "encoding/binary" "f ...
- WebAPI 之问题记录
这篇博客是博主的第一篇博客,主要用于webapi学习过程中的问题记录 问题1: 重写OnAuthorization权限验证时,遇到AllowAnonymousAttribute特性不起作用的问题 p ...
- QSDK与OPENWRT区别
QSDK与OPENWRT区别 来源 https://www.jianshu.com/p/178ae18b2570 QSDK是一种在openwrt的基础上,加入了高通atheros芯片相关资料的一种环境 ...
- H3C S3600V2 通过CONSOLE配置端口镜像
前24口为百兆口 对应序号为 Ethernet 1/0/(0~24) 25 26为千兆口 对应序号为 GigabitEthernet 1/0/(25~26) 以下是通过25号千兆口监听1号百兆口的例子 ...
- 【洛谷 P3975】 [TJOI2015]弦论(后缀自动机)
题目链接 建出后缀自动机. T=0,每个子串算一次,否则每个子串算该子串的\(endpos\)集合大小次. 用\(f[i]\)表示结点\(i\)表示的\(endpos\)集合大小,则\(f[i]\)为 ...
- stage1----航空票务系统需求分析报告
航空票务管理系统需求分析报告 题 目 航空票务管理系统需求分析报告 学 院 信息科学与工程学院 专 业 计算机科学与技术 组 员 ...
- D1-JavaScript
下面的代码,我想要打印出hey jack,结果却打印出hey rose,为什么? function greet(person) { if (person == {name: 'jack'}) { co ...
- vue和react之间的区别
1.Vue和React之间的区别 相同点: Vue和其他框架一样,都有组件开发和虚拟dom 都支持props进行父子组件之间的数据通信 都支持数据驱动视图,不直接操作真实dom 都支持服务器端的 渲染 ...
- jenkens docker启动
docker run \ -u root \ --rm \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins-data:/var/jenkins_home ...
- php图形图像处理技术
图形图像处理技术,gd库的强大支持,PHP的图像可以是PHP的强项,PHP图形化类库,jpgraph是一款非常好用的强大的图形处理工具. 在PHP中加载GD库 gd官方网址下载: http://www ...