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 相关文章推荐
js常用排序实现代码
Dec 28 Javascript
jquery.validate分组验证代码
Mar 17 Javascript
javascript判断iphone/android手机横竖屏模式的函数
Dec 20 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
Apr 10 Javascript
JavaScript使用replace函数替换字符串的方法
Apr 06 Javascript
JQ实现新浪游戏首页幻灯片
Jul 29 Javascript
javascript单页面手势滑屏切换原理详解
Mar 21 Javascript
jQuery访问json文件中数据的方法示例
Jan 28 jQuery
webpack 动态批量加载文件的实现方法
Mar 19 Javascript
Vue this.$router.push(参数)实现页面跳转操作
Sep 09 Javascript
Vue-cli4 配置 element-ui 按需引入操作
Sep 11 Javascript
微信小程序实现登录注册功能
Dec 29 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
php 抽象类的简单应用
2011/09/06 PHP
探讨php中header的用法详解
2013/06/07 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
浅析php中array_map和array_walk的使用对比
2016/11/20 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
Javascript - HTML的request类
2007/01/09 Javascript
javascript dom 操作详解 js加强
2009/07/13 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
浅谈JS和jQuery的区别
2019/03/27 jQuery
JQuery获取元素尺寸、位置及页面滚动事件应用示例
2019/05/14 jQuery
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
Python数据类型详解(四)字典:dict
2016/05/12 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
Flask之flask-script模块使用
2018/07/26 Python
pandas factorize实现将字符串特征转化为数字特征
2019/12/19 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
QML用PathView实现轮播图
2020/06/03 Python
Python 实现一个简单的web服务器
2021/01/03 Python
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
2014/05/07 HTML / CSS
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
体育教育专业毕业生自荐信
2013/11/15 职场文书
安全标语口号
2014/06/09 职场文书
材料专业大学毕业生自荐书
2014/07/02 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python