AngularJS 简单应用实例


Posted in Javascript onJuly 28, 2016

AngularJS 应用

现在是时候创建一个真正的 AngularJS 单页 Web 应用(single page web application,SPA)了。

AngularJS 应用实例

您已经学习了足够多关于 AngularJS 的知识,现在可以开始创建您的第一个 AngularJS 应用程序:

我的笔记

 

 

剩余字数: 100

应用程序讲解

AngularJS 实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body ng-app="myNoteApp" ng-controller="myNoteCtrl">

<h2>我的笔记</h2>


<textarea ng-model="message" cols="40" rows="10"></textarea>

<p>
<button ng-click="save()">保存</button>
<button ng-click="clear()">清除</button>
</p>

<p>剩余字数: <span ng-bind="left()"></span></p>

<script src="myNoteApp.js"></script>
<script src="myNoteCtrl.js"></script>

</body>
</html>

运行结果:

我的笔记

 

剩余字数: 100

应用程序文件 "myNoteApp.js":

var app = angular.module("myNoteApp", []);

控制器文件 "myNoteCtrl.js":

app.controller("myNoteCtrl", function($scope) {
 $scope.message = "";
 $scope.left = function() {return 100 - $scope.message.length;};
 $scope.clear = function() {$scope.message = "";};
 $scope.save = function() {alert("Note Saved");};
});

<html> 元素是 AngularJS 应用: ng-app="myNoteApp" 的容器:

<html ng-app="myNoteApp">

<div> 是 HTML 页面中控制器: ng-controller="myNoteCtrl" 的作用域:

<div ng-controller="myNoteCtrl">

ng-model 指令绑定了 <textarea> 到控制器变量 message:

<textarea ng-model="message" cols="40" rows="10"></textarea>

两个 ng-click 事件调用了控制器函数 clear() 和 save():

<button ng-click="save()">Save</button>

<button ng-click="clear()">Clear</button>

ng-bind 指令绑定控制器函数 left() 到<span> ,用于显示剩余字符:

Number of characters left: <span ng-bind="left()"></span>

应用库文件需要在 AngularJs 加载后才能执行:

<script src="myNoteApp.js"></script>
<script src="myNoteCtrl.js"></script>

AngularJS 应用架构

以上实例是一个完整的 AngularJS 单页Web应用(single page web application,SPA)。

<html> 元素包含了 AngularJS 应用 (ng-app=)。

<div> 元素定义了 AngularJS 控制器的作用域 (ng-controller=)。

在一个应用可以由很多控制器。

应用文件(my...App.js) 定义了应用模型代码。

一个或多个控制器文件 (my...Ctrl.js) 定义了控制器代码。

总结 - 它是如何工作的呢?

ng-app 指令位于应用的根元素下。

对于单页Web应用(single page web application,SPA),应用的根通常为 <html> 元素。

一个或多个 ng-controller 指令定义了应用的控制器。每个控制器有他自己的作用域:: 定义的 HTML 元素。

AngularJS 在 HTML DOMContentLoaded 事件中自动开始。如果找到 ng-app 指令 , AngularJS 载入指令中的模块,并将 ng-app 作为应用的根进行编译。

应用的根可以是整个页面,或者页面的一小部分,如果是一小部分会更快编译和执行。

以上就是对AngularJS简单应用详解,希望能帮助AngularJS编程的朋友。

Javascript 相关文章推荐
获取URL地址中的文件名和参数的javascript代码
Sep 02 Javascript
javascript string字符串优化问题
Jul 31 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 Javascript
在JavaScript的正则表达式中使用exec()方法
Jun 16 Javascript
浅谈setTimeout 与 setInterval
Jun 23 Javascript
jquery实现左右无缝轮播图
Jul 31 Javascript
浅析JavaScript中的对象类型Object
May 26 Javascript
纯原生js实现table表格的增删
Jan 05 Javascript
ajax分页效果(bootstrap模态框)
Jan 23 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
Apr 07 Javascript
JS实现按钮颜色切换效果
Sep 05 Javascript
node.js自动上传ftp的脚本分享
Jun 16 Javascript
AngularJS 路由详解和简单实例
Jul 28 #Javascript
AngularJS 依赖注入详解和简单实例
Jul 28 #Javascript
AngularJS中实现动画效果的方法
Jul 28 #Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
Jul 28 #Javascript
AngularJS中的包含详细介绍及实现示例
Jul 28 #Javascript
AngularJS Bootstrap详细介绍及实例代码
Jul 28 #Javascript
JavaScript中windows.open()、windows.close()方法详解
Jul 28 #Javascript
You might like
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
php Calender(日历)代码分享
2014/01/03 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
怎么清空javascript数组
2013/05/11 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
2016/06/03 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
面包屑导航详解
2017/12/07 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
在vue项目中引入高德地图及其UI组件的方法
2018/09/04 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
Python制作数据导入导出工具
2015/07/31 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
基于Python解密仿射密码
2019/10/21 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
CSS实现聊天气泡效果
2020/04/26 HTML / CSS
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
探索HTML5本地存储功能运用技巧
2016/03/02 HTML / CSS
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
高级Java程序员面试题
2016/06/23 面试题
运动会广播稿50字
2014/01/26 职场文书
年会主持词结束语
2014/03/27 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
学术研讨会主持词
2015/07/04 职场文书
2016年父亲节寄语
2015/12/04 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
JS封装cavans多种滤镜组件
2022/02/15 Javascript
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL