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代码的方法】的更多相关文章

  1. AngularJS - 入门小Demo

    AngularJS四大特效 MVC模式.模块化设计.自动化双向数据绑定.依赖注入 如果了解了后端开发知识,想必对这些词汇不会陌生,AngularJS融合了后端开发的一些思想,虽然身为前端框架,但与jQ ...

  2. angularJS入门小Demo2 【包含不用数据库而用data.json格式响应前台的ajax请求方式测试】

    事件绑定: <html> <head> <title>angularJS入门小demo-5 事件指令</title> <script src=&q ...

  3. 一些简单的Js代码的封装

    1 function getById(id) { 2 3 } 4 5 function getAttr(el, k) { 6 7 } 8 9 function setAttr(el, k, v) { ...

  4. easyui中设置开始日期只能选择比结束日期小的日期,js代码获取日期的值

    $("#start_date").datebox({ onSelect: function (beginDate) { $('#end_date').datebox().dateb ...

  5. FastDFS简单入门小demo

    图片上传 需要引入 FastDFS 相关的jar包,但是这个jar没有在中央仓库,所以还得需要找到这个jar手动安装到自己的本地仓库才能使用. 需要一个配置文件   fdfs_client.conf ...

  6. gulp安装+一个超简单入门小demo

    gulp安装參考.gulp安装參考2. 一.NPM npm是node.js的包管理工具.主要功能是管理.更新.搜索.公布node的包. Gulp是通过npm安装的. 所以首先,须要安装node.js. ...

  7. 两段简单的JS代码防止SQL注入

    1.URL地址防注入: //过滤URL非法SQL字符var sUrl=location.search.toLowerCase();var sQuery=sUrl.substring(sUrl.inde ...

  8. facebook页面种简单测试js调用flash开放的js接口的方法

    无意间折腾出来的,此方法很triky,但是很简单有效. 背景说明: facebook种内嵌的iframe无法直接访问. 解决方法: chrome浏览器为例 1.右键查看iframe源代码,此时进入if ...

  9. 1.Django入门小Demo

    1.Django安装 (1)前提:已安装python环境 (2)打开命令行输入:pip install Django==2.1.3 (3)打开Pycharm,在File--Setting--Proje ...

随机推荐

  1. Python常用函数--return 语句

    在Python教程中return 语句是函数中常用的一个语句.return 语句用于从函数中返回,也就是中断函数.我们也可以选择在中断函数时从函数中返回一个值.案例(保存为 function_retu ...

  2. appcrawler遍历工具常用方法

    Usage: appcrawler [options] -a, --app <value> Android或者iOS的文件地址, 可以是网络地址, 赋值给appium的app选项 -c,  ...

  3. MarkDown编辑器使用

    有几款好用的MarkDown编辑器,参考: https://blog.csdn.net/bat67/article/details/72804251 我就下载的是 MarkDown 2来使用. 现用现 ...

  4. 线性代数之——对角化和 A 的幂

    利用特征向量的属性,矩阵 \(A\) 可以变成一个对角化矩阵 \(\Lambda\). 1. 对角化 假设一个 \(n×n\) 的矩阵 \(A\) 有 \(n\) 个线性不相关的特征向量 \(x_1, ...

  5. Python3 Tkinter-OptionMenu

    1.创建 from tkinter import * root=Tk() v=StringVar() v.set('xs') om=OptionMenu(root,v,'Python','PHP',' ...

  6. Spring 3整合Quartz 2实现定时任务:动态添加任务

    先展示一下后台管理定时任务效果图: 1.新增任务页面: 2.列表页(实现任务的禁用启用) 3.数据库脚本: -- ------------------------------ Table struct ...

  7. BluetoothAdapter解析

    这篇文章将会详细解析BluetoothAdapter的详细api, 包括隐藏方法, 每个常量含义. 一 BluetoothAdapter简介 1.继承关系 该类仅继承了Object类; 2.该类作用 ...

  8. 软工1816 · Alpha冲刺(3/10)

    团队信息 队名:爸爸饿了 组长博客:here 作业博客:here 组员情况 组员1(组长):王彬 过去两天完成了哪些任务 完成了对laravel框架的一整套机制的了解,对后端的处理流程有全面的认识对整 ...

  9. Tomcat服务器学习和使用(一)

    一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...

  10. String 和 CharSequence 关系与区别

    String 继承于CharSequence,也就是说String也是CharSequence类型. CharSequence是一个接口,它只包括length(), charAt(int index) ...