第一

AngularJS的四大特性

1. MVC

例如:使用angularjs向模板传递数据

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<script src="user.js"></script>
</head>
<body ng-app="myApp" ng-controller="user">
<p>{{user_name}}</p>
</body>
</html>
var app = angular.module('myApp', []);

app.controller('user', function($scope) {
    $scope.user_name = "liudaoqiang";
});

  

2 模块化

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

/*
app.controller('user', function($scope) {
    $scope.user_name = "liudaoqiang";
});
*/

app.controller('user', ['$scope', function user($scope){
	$scope.user_name = 'liuzhiqiangxyz';
}]);

3.指令

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<script src="directive.js"></script>
</head>
<body ng-app="myApp">
<username></username/>
</body>
</html>
var app = angular.module('myApp', []);

app.directive('username', function(){
	return {
		'retrict':'E',
		'template':'<div>liudaoqiang</div>',
		'replace':true,
	}
});

4.双向数据绑定

例如:显示和输入的数据一致实时同步

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body ng-app="">
<input name="python" ng-model="user_input">
<p>{{user_input}}</p>
</body>
</html>

注意:

angularjs的代码要记住ng-app, ng-controller, ng-model这三个基本属性,若发现代码没有效果,需检查这些属性

第二

前端开发环境搭建

1. 代码编辑工具

例如:

sublime和webstorm

2. 断点调试工具

工具为chrome浏览器的batarang

3. 版本管理工具

例如:

git

4. 代码合并和混淆工具

使用nodejs的插件,例如npm,grunt

grunt为代码混淆工具,官网为gruntjs.com

5. 依赖管理工具

依赖管理工具为bower,官网为bower.io

使用bower下载js插件例如

bower install jquery

bower install bootstrap

当使用bower uninstall jquery是会提示是否真的卸载,因为bootstrap是依赖于jquery的

作用有:

自动安装依赖的组件

解决组件之间的兼容性

解决版本之间的兼容性

6. 轻量级httpserver

即nodejs的插件http-server

下载地址为github.com/nodeapps/http-server

启动http-server的命令为http-server

安装为:

npm install karma

npm install jasmine

7. 单元测试工具

工具为karma, karma为单元测试容器,真正单元测试工具为jasmine

下载地址为jasmine.github.io

8. 集成测试工具

工具为protractor,专门为angularjs而设计的

MVC

js的执行顺序为首先浏览器加载js,然后由JIT编译执行

1.为什么使用MVC

切分职责,复用,后期维护方便

注意:MVC只是手段,终极目的是模块化和复用

2. 前端MVC的困难

DOM操作必须等待所有页面加载完成

各个浏览器加载不同js的顺序是不一样,js之间的依赖需要程序员手动解决

js的原型继承也给MVC的实现带来了困难

3. 使用控制器应该注意的事项

不要复用控制器,控制器一般只负责一小块视图

不要在控制器中操作DOM,这不是控制器的职责

不要在控制器里做数据格式化,ng有很好用的表单空间

不要在控制器中做数据过滤,ng有$filter服务

不要在控制器中相互调用,控制器之间的交互通过事件

AngularJS从入门到精通的更多相关文章

  1. laravel从5.2到5.5从入门到精通视频教程共16套

    laravel从5.2到5.5从入门到精通视频教程共16套,大部分都是实战项目比如P2P.博客.短网址.知乎门户.app软件开发.微信商城实战等 课程目录: 01.Laravel框架从入门到精通02. ...

  2. <程序员从入门到精通> -- How

    定位 自己才是职业生涯的管理者,想清楚自己的发展路径: 远期的理想是什么?近期的规划是什么?今日的任务和功课又是什么? 今日之任务或功课哪些有助于近期之规划的实现,而近期之规划是否有利于远期之理想? ...

  3. 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

    索引 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(1)搭建MVC环境 注册区域 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(2)创建 ...

  4. ASP.NET MVC4入门到精通系列目录汇总

    序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,We ...

  5. Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引

    因为内容比较多,所以每篇讲解一些内容,最后会放出全部代码,可以参考.操作中总会遇到各式各样的问题,个人对部分问题的研究在最后一篇 问题研究 里.欢迎大家探讨学习. 代码都经过个人测试,但仍可能有各种未 ...

  6. 1、ASP.NET MVC入门到精通——新语法

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在学习ASP.NET MVC之前,有必要先了解一下C#3.0所带来的新的语法特性,这一点尤为重要,因为在MVC项目中我们利用C#3.0的新特 ...

  7. 5、ASP.NET MVC入门到精通——NHibernate代码映射

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一篇NHibernate学习笔记—使用 NHibernate构建一个ASP.NET MVC应用程序 使用的是xml进行orm映射,那么这一 ...

  8. 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...

  9. 7、ASP.NET MVC入门到精通——第一个ASP.NET MVC程序

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 开发流程 新建Controller 创建Action 根据Action创建View 在Action获取数据并生产ActionResult传递 ...

随机推荐

  1. pyspider环境部署2--pyspider安装

    接上篇文章,在python3.6.4安装完成的基础上,安装相关依赖模块及pyspider. 依赖安装 1.setuptools和pip setuptools和pip是python的包管理工具,pyth ...

  2. Android自动化测试学习路线

    最近在整理Android自动化测试的相关资料,大体上把一些知识点梳理了,这里做一个简单的分享! Android里面测试相关的工具和框架太多了.你应该从以下几个方面入手. 编程语言的选择 如果你要学习的 ...

  3. 建一个网站python

    域名()+  服务器+ 源码 制作一个自己的网站.................

  4. 【转】强化学习(一)Deep Q-Network

    原文地址:https://www.hhyz.me/2018/08/05/2018-08-05-RL/ 1. 前言 虽然将深度学习和增强学习结合的想法在几年前就有人尝试,但真正成功的开端就是DeepMi ...

  5. Grafana+Prometheus打造全方位立体监控系统

    前言 本文主要介绍如何使用Grafana和Prometheus以及node_exporter对Linux服务器性能进行监控.下面两张图分别是两台服务器监控信息: 服务器A 服务器B 概述 Promet ...

  6. 一起学习造轮子(三):从零开始写一个React-Redux

    本文是一起学习造轮子系列的第三篇,本篇我们将从零开始写一个React-Redux,本系列文章将会选取一些前端比较经典的轮子进行源码分析,并且从零开始逐步实现,本系列将会学习Promises/A+,Re ...

  7. C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 即时消息提醒功能改进

    可以给自己的信息管理系统增加一些即时消息提醒功能,简单方便,一般是一行代码就可以发送提醒信息了,方便二次开发,个性化改进. 1:可以用简拼,快速查找内部员工. 2:双击直接可以发QQ消息. 3:双击直 ...

  8. shell 小工具

    1.打印进度条(待完善) #!/bin/sh printf -- 'Performing asynchronous action..'; DONE=; printf -- '............. ...

  9. 几何学观止(Lie群部分)

    上承这个页面,这次把Lie群的部分写完了 几何学观止-微分几何部分(20181102).pdf 我觉得其他部分(尤其是代数几何部分)我目前没有把握写得令自己满意,总之希望在毕业前能写完吧. 这次调整了 ...

  10. iOS iCloud云存储数据

    https://www.jianshu.com/p/ce8cfaf6030e 2017.11.29 16:05* 字数 452 阅读 302评论 0喜欢 1 因为上一次做了用keychain来持久化存 ...