angular.js 例子
angular.js是一个前端的MVC框架,12年的时候曾近在一个portal平台的项目中使用过。
下面给出一个angular.js的典型例子,涵盖一些基础的知识点,用以复习备忘:
<html ng-app = "myapp" >
<head>
<script src="angular.js"></script>
</head>
<!--ng-controller 定义body内使用该控制器 -->
<body ng-controller="userlist">
<div class="container-fluid">
<div class="row-fluid">
<div class="span2">
<!--ng-model 定义数据模型 -->
Search: <input ng-model="key"> </div>
<div class="span10">
<ul>
<!--filter 实现过滤 -->
<li ng-repeat="user in users | filter:key">
<user name = 'fredric'></user>
</li>
</ul> </div>
</div>
</div> <script>
//使用模块
var app = angular.module("myapp", []); //自定义指令
app.directive('user', function() {
var directive = {};
directive.restrict = 'E';
directive.template = "name: <b>{{user.name}}</b> , password: <b>{{user.password}}</b>"; return directive;
}); //定义服务
app.factory('encrypt', function() {
var factory = {};
factory.encrypt01 = function(password) {
return '***********';
}
return factory;
}); //定义控制器
app.controller("userlist", function($scope, $http, encrypt) {
$http.get("http://localhost:3000/test")
.success(function(response) { //使用服务
for(var i = 0; i < response.length; i++){
response[i].password = encrypt.encrypt01(response[i].password);
} $scope.users = response;
});
});
</script> </body>
</html>
总结:
我认为用面向对象的工程来理解angular.js会更加容易:
ng-app:定义模块化,其中value和constent定义这个模块的全局变量,在module方法里描述这个模块的依赖(包含哪些服务、控制器等);
ng-controller:描述这个模块中的不同的类,controller本身类似这个类的构造函数,ng-model是这个类的成员,$scope可以理解为this指针;
ng-directive:理解为UI widget;
service:不同类(controller)之间的公共方法,类似utils模块;
html:原本的html变为了视图,通过model即指令,呈现出模板的概念;
其他诸如filter\route等,我觉得都可以理解成为一些小的特性库,对整个angular.js的架构无伤大雅。
angular.js 例子的更多相关文章
- Angular JS例子 ng-repeat遍历输出
首先要有Angular的插件:然后才开始遍历 :<!DOCTYPE html> <html lang="en"> <head> <meta ...
- (翻译)Angular.js为什么如此火呢?
在本文中让我们来逐步发掘angular为什么如此火: Angular.js 是一个MV*(Model-View-Whatever,不管是MVC或者MVVM,统归MDV(model Drive View ...
- 学习angular.js的一些笔记想法(上)
1.data-ng-app与ng-app的区别 data-ng-app是为了h5不报错 2.ng-class 不多说就来拿例子说吧 html代码 <div class='color-change ...
- 精通 Angular JS 第一天——Angular 之禅
简介 Angular JS是采用JavaScript语言编写的客户端MVC框架,它为业界带了重大的变化,包括对模板化的创新实现,以及数据的双向绑定,这些特性使得它强大而易用.它可以用来帮助开发者编写单 ...
- [学习笔记] 七步从Angular.JS菜鸟到专家(3):数据绑定和AJAX [转]
这是"AngularJS - 七步从菜鸟到专家"系列的第三篇. 在第一篇,我们展示了如何开始搭建一个AngularaJS应用.第二篇我们讨论了scope和 $scope 的功能. 通过这整个系列的教程 ...
- Angular.js为什么如此火呢?
在本文中让我们来逐步发掘angular为什么如此火: Angular.js 是一个MV*(Model-View-Whatever,不管是MVC或者MVVM,统归MDV(model Drive View ...
- activiti自定义流程之整合(二):使用angular js整合ueditor创建表单
注:整体环境搭建:activiti自定义流程之整合(一):整体环境配置 基础环境搭建完毕,接下来就该正式着手代码编写了,在说代码之前,我觉得有必要先说明一下activit自定义流程的操作. 抛开自定义 ...
- 推荐 15 个 Angular.js 应用扩展指令(参考应用)
几天前我们看到Angular 1.4.0发布了-一个以社团为驱动的发布版本涵盖了400多个GitHub的提交,增加了对特性的提升,比如动画,以及可用性. 官方新闻发布稿 覆盖了绝大部分,这同样值得放于 ...
- angular js 指令的数据传递 及作用域数据绑定
<div my-directive my-url="http://google.com" my-link-text="Click me to go to Googl ...
随机推荐
- 游标的使用之压缩数据库Log文件
declare @databasename nvarchar(100)--定义游标以及赋值 获取所有Online的Database Namedeclare getDataBaseCursor cur ...
- DataGridView in TabControl and CellValidating lead to problems
I created a little form with a TabControl on it and a combobox. On the first page i added a DataGri ...
- Ajax Step By Step4
第四,[$.ajax()] $.ajax()是所有 ajax 方法中最底层的方法,所有其他方法都是基于$.ajax()方法的封装.这个方法只有一个参数,传递一个各个功能键值对的对象. $.ajax() ...
- Python3 升级pip
(Windows) 用 pip install --Upgrade pip进行自升级不成功,执行至卸载完再安装时出错,最后还是用get_pip.py解决了!
- Eclipse在线集成maven M2eclipse插件
首先说下版本: Eclipse:3.6 Maven:3.3.1,若不知道如何在本地安装Maven,请参见我的另一篇文章:Window下安装Maven 废话少说,直接讲步骤就好: 1.打开eclipse ...
- web工具网站等
框架 1.handlebars http://handlebarsjs.com/ 2.http://underscorejs.org/#keys 3.http://stylus-lang.com/ 4 ...
- Python小练习三
# 检查用户名和PIN码 database = [ ['], ['], ['], ['] ] username = input('User name:') pin = input('PIN code: ...
- rsync+inotify实现远程数据备份
一.rsync的基本介绍 1. 什么是rsync Rsync是一款开源的.快速的.多功能的.可以实现增量的本地货远程数据镜像同步备份的优秀工具,Rsync使用与unix,linux,windows等 ...
- Win8.1下FreeImage.lib库的配置和简单使用(转)
转自http://www.codeweblog.com/win8-1下freeimage-lib库的配置和简单使用/ 首先,你可以从这里获取FreeImage的完整库文件(访问密码 9a5e). 配置 ...
- Combination Sum II Combinations
https://leetcode.com/problems/combination-sum-ii/ 题目跟前面几道题很类似,直接写代码: class Solution { public: vector ...