学习笔记-AngularJs (一)
最近对AngularJs产生了浓厚的学习兴趣,于是便搜罗所有资料,开始学习起来,也希望把学习过程记录下来。
首先学习之前,需要对AngularJs进行个大概的了解:
AngularJS[1] 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。

var phonecatApp = angular.module('phonecatApp', [ 'ngRoute', 'phonecatAnimations',
'phonecatControllers', 'phonecatFilters', 'phonecatServices','phonecatDirectives']);
//路由
phonecatApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/phones', {
templateUrl: 'partials/phone-list.html',//模板的相对路径
controller: 'PhoneListCtrl' //使用的控制器名
}).
when('/phones/:phoneId', {
templateUrl: 'partials/phone-detail.html',
controller: 'PhoneDetailCtrl'
}).
otherwise({
redirectTo: '/phones'
});
}]);
var phonecatControllers = angular.module('phonecatControllers', []); //'phonecatControllers'此处在app.js有进行模块依赖了,所以这里就这样写
phonecatControllers.controller("控制器名",function($scope){...})
var phonecatControllers = angular.module('phonecatControllers', []);
phonecatControllers.controller("控制器名",['$scope' ,'$http',function($scope,$http){...}]);
var phonecatServices = angular.module('phonecatServices', [...]); //同上所述,[...]为依赖
phonecatServices.factory('Phone', function(){
return ['1882345555','123453222'];
});
编写服务js,分别有factory、provider、service方法,这里使用factory,这样的话在controller.js写控制器的时候,就可以注入使用了,上面有阐述了。
var phonecatFilter = angular.module('phonecatFilters', []); //同上所述,[...]为依赖
phonecatFilter.filter('touuper', function() {
return function(input) {
return input.toUpperCase();
};
});
五、directives.js 项目的指令文件,这里写的是项目中,我们自己自定义的标签,制定的标签可以引入到模板文件里面使用,其代表含义,我们在directives.js中去定义,这个也是angualr.js比较有特点的功能,原本的html标签已经很丰富的了,但是这样的自定义标签可以使htmldom结构中更能自定义话,ng-*就是指令,可以去打开源码去看,它们都会被编译我们熟悉的属性、html标签,而指令有着四种形式AEMC,分别是attrs、element、注释、class,demo:
angular.module('phonecatDirectives', []).directive("hello", function() {
return {
scope: {} ,//是否具有独立作用域
restrict: 'AEMC', //定义类型
template: '<div>Hi everyone!</div>', //模板
replace: true //是否替换原来的节点
link: function(scope,element,attrs,[controller]){
//定义指令的行为,如果不需要则不需引入
}
compile:function(){
//编译指令时的函数
}
templateUrl: "" //模版路径
}
});
总结:这里主要讲了,一个angualr项目的基本目录,方便之后去创建一个项目,不会说没有思路,这里的js文件主要有,app.js、controllers.js、services.js、filters.js、directives.js,分别是基本配置、控制器、服务、过滤器、指令,在配合模版(.html)使用,实现mvc模式的设计思路,之后每一分块会继续学习,继续深入,然后记录下来,在这里先讲目录。这确实是一门很有前途的技术,会好好学习的!
学习笔记-AngularJs (一)的更多相关文章
- 学习笔记-AngularJs(十)
前面一直在说自定义指令,但是却一直没有一次系统地去了解,现在需要我们一起来学习如何去使用自定义指令,去丰富html标签.属性,实现多元化.多功能的标签(或是属性).辣么,啥是指令?要了解指令,首先需要 ...
- 学习笔记-AngularJs(九)
到目前为止,我们所做的学习案例都是没有加任何动画效果的,对于以往来说,我们经常会去使用一些动画插件或是css框架(如:animate.css)来点缀我们的网页,这样显得生动,高大上,那么接下来我们可以 ...
- 学习笔记-AngularJs(七)
在学习笔记-AngularJs(六)提及了事件处理器和过滤器以及它们的例子,而我们知道之前我是使用$http服务去获得我们需要的json数据,但是$http是比较底层的用法,有时候我们想把获取json ...
- 学习笔记-AngularJs(六)
在学习笔记-AngularJs(五),通过引入bootstrap.css进行改写整个样式,这时学习项目也变得好看多了,现在我们又需要目录再进行一次改变,如下图: 这样就符合之前讲的对学习目录进行布置了 ...
- 学习笔记-AngularJs(三)
学习笔记-AngularJs(二)写了个所有程序语言入门时都必须要写的Hello World,那么从现在开始做那个之前说过的互联网大佬介绍的学习例子,当然这里开始会慢慢按照之前说过的目录来搭建这个学习 ...
- 学习笔记-AngularJs(二)
在接下来学习angularjs中,我按照的就是之前 学习笔记-AngularJs(一)所讲的目录来搭建一个学习的项目,做一个互联网大佬人物简介的例子,当然也可以使用angualrjs上面提供的官方例子 ...
- AngularJs学习笔记-AngularJS权威教程学习笔记
AngularJS是什么? AngularJS是一种构建动态Web应用的结构化框架.主要用于构建单页面Web应用, 增加抽象级别,使构建交互式的现代Web应用变得更加简单. AngularJS使开发W ...
- 学习笔记-AngularJs(八)
在使用form.FormController和ngModel.NgModelController之前,先来学习一下怎么一个ng-model-options指令,觉得怎么这个指令挺好用的,我们知道ng- ...
- 学习笔记-AngularJs(五)
之前的页面太丑了,后来我引入了bootstrap.css,把样式进行修了一番,如下图(一不小心,插入个链接,忽略,http://t.cn/RUbL4rP): (链接:http://www.live08 ...
- 学习笔记-AngularJs(四)
之前学习的事视图与模版,我们在控制器文件中直接定义一个数组,让其在模版文件中用ng-repeat指令构造一个迭代器,定义的数组http://t.cn/RUbL4rP如同以下: $scope.phone ...
随机推荐
- 小程序scss页面布局
html <view class="main"> <form bindsubmit="feedback"> <textarea c ...
- Tp5.1使用导出Excel
composer require phpoffice/phpexcel 不管它的警告,都能用的. use PHPExcel; use PHPExcel_IOFactory; public static ...
- 设计模式(七)Adapter Pattern适配器模式
适用场景:旧系统的改造升级 实际场景:java.io.InputStreamReader(InputStream)等 1.一个被适配的类 package com.littlepage.AdapterP ...
- linux JAVA_HOME和 java -version不匹配
~/.bashrc 中更新了jdk, JAVA_HOME 起效果了,但是java -version还是老的. 原因是/usr/bin/java 和usr/bin/javac是一个链接,得改. 使用 ...
- XLua访问C#中的List或者数组
直接访问即可 以下截图是C#中的List与数组: 现在通过XLua修复一下 RequestRoomListRes 方法(这里主要关注list和数组在XLua中的访问方式,对数组与List的遍历用了两种 ...
- zabbix自定义监控方式
- HTML标签使用
`<!-- 什么是HTML 超文本标记语言 由标签(属性和实体组成)和内容组成 --> <!-- 定义文档类型 --> <!DOCTYPE html> <!- ...
- springboot外置的Servlet容器
嵌入式Servlet容器:应用打成可执行的jar 优点:简单.便携: 缺点:默认不支持JSP.优化定制比较复杂(使用定制器[ServerProperties.自定义EmbeddedServle ...
- C语言转义字符基础总结
C语言转义字符总结 C语言中的转义字符,是字符常量中很特别的一类.初学者容易在这方面犯错误,比如说我. 错题1 答案:C解析:每一个转义字符具有一个长度,这个字符串中:\t, \x43, \', \ ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 创建子网格
jQuery EasyUI 数据网格 - 创建子网格 使用数据网格(datagrid)的详细视图,用户可以展开一行来显示附加的详细信息. 任何内容都可以加载作为行详细,子网格也可以动态加载. 本教程将 ...