angularJS入门小Demo【简单测试js代码的方法】
1、首先建立一个文件夹 demo,
2、在其中建立一个文本文档,改名为 demo-1.html,
3、把html中要引入的 js 文件拷贝到 demo目录下,
4、然后用 Notepadd++ 编辑刚才建立的文件 demo-1.html
<html>
<head>
<title>angularJS入门小demo-1 表达式</title>
<script src="angular.min.js"></script>
</head> <!-- ng-app 是一个angularJS指令意思是加载angularJS引擎
只有加载了这个引擎,代码中其他用到angularJS的中语法的地方才有效
-->
<body ng-app>
<!-- angularJS表达式的语法 就是两个嵌套的大括号,就像el表达式用${}一样 -->
{{100+100}}
</body> </html>
5、在文件夹中 双击 demo-1.html 文件,会自动用浏览器打开,效果如下:

==========================
demo2 双向绑定:
<html>
<head>
<title>angularJS入门小demo-2 双向绑定</title>
<script src="angular.min.js"></script>
</head> <!-- ng-app 是一个angularJS指令意思是加载angularJS引擎
只有加载了这个引擎,代码中其他用到angularJS的中语法的地方才有效
-->
<body ng-app>
<!-- 现在学习第二个指令:绑定 ng-model
下面 ng-model="name" 这个name就是我们自定义的在 angularJS 中的一个变量
这样当前文本框中的内容就和变量 name 进行双向绑定了。
-->
请输入姓名:<input ng-model="name">
<!-- 绑定完变量就可以用 angularJs表达式显示这个变量 -->
{{name}}
</body> </html>

效果就是我在文本框中输入什么,同时后面就显示什么。
=====
我们再绑定一个文本框:
<html>
<head>
<title>angularJS入门小demo-2 双向绑定</title>
<script src="angular.min.js"></script>
</head> <!-- ng-app 是一个angularJS指令意思是加载angularJS引擎
只有加载了这个引擎,代码中其他用到angularJS的中语法的地方才有效
-->
<body ng-app>
<!-- 现在学习第二个指令:绑定 ng-model
下面 ng-model="name" 这个name就是我们自定义的在 angularJS 中的一个变量
这样当前文本框中的内容就和变量 name 进行双向绑定了。
-->
请输入姓名:<input ng-model="name">
<!-- 绑定完变量就可以用 angularJs表达式显示这个变量 -->
<input ng-model="name">
<!-- 我们将两个文本框都绑定到一个变量name上 -->
{{name}}
</body> </html>

效果就是,这3个地方,只要我们任意修改一个,另外两个也会跟着变,这就是 双向绑定。
==========
下面学习初始化指令
如果你想在页面运行起来后,对一些变量进行赋值,或者请求一些逻辑后给变量初始化、赋值时就可以在初始化指令中操作
<html>
<head>
<title>angularJS入门小demo-3 初始化指令</title>
<script src="angular.min.js"></script>
</head>
<!-- 初始化指令:给变量name赋初始化值 注意:里面要用单引号 -->
<body ng-app ng-init="name='陈大海'">
请输入姓名:<input ng-model="name">
{{name}}
</body> </html>

=====
下面讲控制器:我们要做两个值相加
angularJS讲究模块化编程,比如 它自己的 核心模块就是 ng 模块,所以我们自定义的代码也要搞一个单独的 script 标签,然后在里面定义我们自己的模块,再在我们自定义的模块里面编码
定义模块的方法如下:
var app = angular.module(); 通过module()方法来构建模块,这个方法有两个参数,第一个参数就是你自定义的模块的名称,第二个参数是一个中括号数组,这个数组里面放的是其他模块,如果你这个模块用到了其他模块,就需要在这里把其他模块引入进来。
<html>
<head>
<title>angularJS入门小demo-4 控制器</title>
<script src="angular.min.js"></script>
<script>
//建立模块
var app = angular.module("myApp",[]);
//然后通过模块来创建控制器
<!-- 调用模块的controller方法,参数1是自定义的控制器的名称, 参数2就是方法即控制器真正的内容 -->
<!-- $scope 就是控制层与视图层之间交换数据的桥梁在scope中可以放变量也可以放方法 放进去之后在视图层就能用变量或方法进行绑定操作 -->
app.controller("myController",function($scope){
//在scope中定义一个方法 $scope是一个angular中内置的对象
$scope.add=function(){
//在控制层取视图层中的东西需要加上$scope前缀
//return $scope.x+$scope.y; //这个结果是字符串相加
return parseInt($scope.x)+parseInt($scope.y);
} <!-- 这个方法就是个普通的js方法,它只能在当前控制层中使用 相当于java里的 private 修饰的方法 -->
add2=function(){}
<!-- 而上面的 $scope.add 方法相当于java里面被public修饰的方法,它还可以在其对应的视图层中直接使用 --> });
</script>
</head> <!-- 这个ng-app的值要和上面建立模块中的第一个参数一样
也就是说我在代码里要操作的就是 body 这个模块
-->
<!-- 在上面模块中创建了一个控制器,在这里的html标签中也要指定当前html节点视图属于哪个控制器 用ng-controller指令 -->
<body ng-app="myApp" ng-controller="myController">
<!-- 创建两个目标标签 -->
第一个数:<input ng-model="x"> 第二个数:<input ng-model="y">
<!-- 我们现在要算x和y的和 可以用表达式来写,但是当业务特别复杂时表达式就不适合了,所以我们现在在控制器中写 -->
<!-- {{x+y}} -->
<!-- 这里使用控制层中定义的方法 -->
{{add()}}
</body> </html>

效果就是 后面的值是前面两个之和。
=====
angularJS入门小Demo【简单测试js代码的方法】的更多相关文章
- AngularJS - 入门小Demo
AngularJS四大特效 MVC模式.模块化设计.自动化双向数据绑定.依赖注入 如果了解了后端开发知识,想必对这些词汇不会陌生,AngularJS融合了后端开发的一些思想,虽然身为前端框架,但与jQ ...
- angularJS入门小Demo2 【包含不用数据库而用data.json格式响应前台的ajax请求方式测试】
事件绑定: <html> <head> <title>angularJS入门小demo-5 事件指令</title> <script src=&q ...
- 一些简单的Js代码的封装
1 function getById(id) { 2 3 } 4 5 function getAttr(el, k) { 6 7 } 8 9 function setAttr(el, k, v) { ...
- easyui中设置开始日期只能选择比结束日期小的日期,js代码获取日期的值
$("#start_date").datebox({ onSelect: function (beginDate) { $('#end_date').datebox().dateb ...
- FastDFS简单入门小demo
图片上传 需要引入 FastDFS 相关的jar包,但是这个jar没有在中央仓库,所以还得需要找到这个jar手动安装到自己的本地仓库才能使用. 需要一个配置文件 fdfs_client.conf ...
- gulp安装+一个超简单入门小demo
gulp安装參考.gulp安装參考2. 一.NPM npm是node.js的包管理工具.主要功能是管理.更新.搜索.公布node的包. Gulp是通过npm安装的. 所以首先,须要安装node.js. ...
- 两段简单的JS代码防止SQL注入
1.URL地址防注入: //过滤URL非法SQL字符var sUrl=location.search.toLowerCase();var sQuery=sUrl.substring(sUrl.inde ...
- facebook页面种简单测试js调用flash开放的js接口的方法
无意间折腾出来的,此方法很triky,但是很简单有效. 背景说明: facebook种内嵌的iframe无法直接访问. 解决方法: chrome浏览器为例 1.右键查看iframe源代码,此时进入if ...
- 1.Django入门小Demo
1.Django安装 (1)前提:已安装python环境 (2)打开命令行输入:pip install Django==2.1.3 (3)打开Pycharm,在File--Setting--Proje ...
随机推荐
- Win10系统XWware虚拟机安装Linux系统(Ubuntu)最新版教程
XWware虚拟机安装Linux系统(Ubuntu)教程 一.下载并安装VMware虚拟机 借助VMware Workstation Pro, 我们可以在同一台Windows或Linux PC上同时运 ...
- 第3章 TCP协议详解
第3章 TCP协议详解 3.1 TCP服务的特点 传输协议主要有两个:TCP协议和UDP协议,TCP协议相对于UDP协议的特点是 面向连接使用TCP协议通信的双方必须先建立连接,完成数据交换后,通信双 ...
- Python全栈 正则表达式(re模块正则接口全方位详解)
re模块是Python的标准库模块 模块正则接口的整体模式 re.compile 返回regetx对象 finditer fullmatch match search 返回 match对象 match ...
- 397. Longest Continuous Increasing Subsequence
Description Give an integer array,find the longest increasing continuous subsequence in this array. ...
- Firefox-css-hack
先记下:之后研究.试了一下,新版本FF-32.0效果不错,低版本还没测试. @-moz-document url-prefix() { .container { ... }}
- 【Linux 运维】 Centos7.x 系统修复模式
一.linux的运行级别: 运行级别就是来确定系统启动时到底启动那个服务. linux默认有7个运行级别: 0 关机 1 单用户模式,用于系统修复 2 不完全的命令模式,不含NFS服务 3 完全的命令 ...
- Thunder团队第二周 - Scrum会议3
Scrum会议3 小组名称:Thunder 项目名称:爱阅app Scrum Master:代秋彤 工作照片: 参会成员: 王航:http://www.cnblogs.com/wangh013/ 李传 ...
- C++基础和STL,Effective C++笔记
这个作者总结的c++基础,特别好. 可以看看. http://blog.csdn.net/tham_/article/details/51169792
- java日期格式处理
继承关系:java.lang.Object->java.text.Format->java.text.DateForm->java.text.SimpleDateFormat 日期代 ...
- iOS- Swift实现UITableView的常见操作
1.前言 Swift在这就不多介绍了,想必大家都已皆知. 离Swift面世也过了有一个多月的时间. 在闲暇时间我用Swift实现了UITableView的一些常见操作. 基本都是可以用上的,今天在 ...