AngularJS-01.AngularJS,Module,Controller,scope
1.AngularJS
一个构建动态Web应用程序的结构化框架。
基于JavaScript的MVC框架。( MVC ---- Model(模型)、View(视图)、Controller(控制器) )
主要作用:
1)简化复杂Web应用的开发难度
a) MVC程序架构,解耦应用逻辑、数据模型和视图
b) 数据绑定
c) 依赖注入
d) Ajax服务
2)提高应用程序的可测试性、可维护性
擅长领域:
1)单页面应用程序Single Page Application(SPA)
2)CRUD程序
下载和使用
文档:http://docs.angularjs.cn/api
AngularJS的使用:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="description" content="KunShan Online retailers ">
<title></title> <link rel="stylesheet" href="css/angular-csp.css" />
</head>
<body> <script type="text/javascript" src="js/angular.js" ></script>
</body>
</html>
2.Module:模块
创建方式:angular.module(‘myApp’,[]);
使用模块的好处:
1)保持全局命名空间的清洁;
2)编写测试代码更容易;
3)易于在不同的应用程序之间复用代码。
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="description" content="KunShan Online retailers ">
<title></title> <link rel="stylesheet" href="css/angular-csp.css" />
</head>
<body ng-app='myApp'>
<!--
ng-app : Angularjs的模块,也可以理解为AngularJS的作用域
-->
<h3>{{"hello"}}</h3> <script type="text/javascript" src="js/angular.js" ></script>
<script type="text/javascript" src="js/index.js" ></script> </body>
</html>
var app = angular.module('myApp',[]);//创建的模块赋值给app对象
3.Controller和scope
控制器:在AngularJS中控制器是一个函数,用来向视图的作用域添加额外的功能,用来设置作用域的初始状态并添加自定义行为。
控制器的声明:
app.controller(‘controllerName’,function($scope){...}) //app对象是angularJs定义好的模块
控制器的使用:
在需要的地方(html某个标签上)添加ng-controller
使用控制器注意事项:
1)尽可能精简控制器,制作和$scope相关的操作
2)不适合在控制其中执行DOM操作、格式化或数据操作。
控制器的嵌套
控制器之间可以发生嵌套关系,子控制器可以访问父控制器中的属性和方法。
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="description" content="KunShan Online retailers ">
<title></title> <link rel="stylesheet" href="css/angular-csp.css" />
</head>
<body ng-app='myApp' ng-controller='myController'>
<!--
ng-app : angularjs的模块
ng-controller :控制器的使用
-->
<h3>{{"hello"}}</h3>
<button ng-click='add()'>Test</button><!--ng-click:点击事件-->
<h4>{{num}}</h4> <div ng-controller='myController2'><!--myController2嵌套在myController中-->
<button ng-click='add()'>Test,myController2</button>
<span>{{num}}</span>
</div> <script type="text/javascript" src="js/angular.js" ></script>
<script type="text/javascript" src="js/index.js" ></script> </body>
</html>
var app = angular.module('myApp',[]);//创建的模块赋值给app对象
//controller $scope:作用域对象
app.controller('myController',function($scope){
$scope.num=0;//视图中的num变量
//add方法 视图中的add()
$scope.add=function(){
$scope.num++;
};
});
app.controller('myController2',function($scope){
});
AngularJS-01.AngularJS,Module,Controller,scope的更多相关文章
- 33.AngularJS 应用 angular.module定义应用 angular.controller控制应用
转自:https://www.cnblogs.com/best/tag/Angular/ AngularJS 模块(Module) 定义了 AngularJS 应用. AngularJS 控制器(Co ...
- AngularJS中Directive指令系列 - scope属性的使用
文章是转的,我做下补充.原文地址:https://segmentfault.com/a/1190000002773689 每当一个指令被创建的时候,都会有这样一个选择,是继承自己的父作用域(一般是外部 ...
- JavaScript文件中调用AngularJS内部方法或改变$scope变量
需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...
- 【AngularJS】AngularJS 教程
AngularJS通过新的属性和表达式扩展了HTML.------------->扩展HTML属性 AngularJS可以构建一个单页面应用程序(SPAs: Single Page Applic ...
- Module controller in JMeter
https://qualibrate.com/blog/quality-assurance/jmeter-module-controller/ 通过组合Test Fragments 和Module C ...
- Jmeter(十九)Logic Controllers 之 Module Controller and Include Controller
Module Controller ---模块控制器 测试计划设置“独立运行没每个线程组” 线程组2中使用Module Controller执行线程组1中的Sampler: 紧接着,将线程组1disa ...
- Jmter-Test Fragment、Include Controller和Module Controller
Test Fragment--测试片段 The Test Fragment is used in conjunction with the Include Controller and Module ...
- jmeter的Include Controller控件和Test Fragment控件和Module Controller控件
1.Include Controller控件——给当前jmeter脚本引入外部片段的jmeter脚本(Test Fragment片段脚本) Include Controller控件——添加外部jmet ...
- Jmeter (二十六)逻辑控制器 之 Module Controller and Include Controller
Module Controller ---模块控制器 测试计划设置“独立运行没每个线程组” 线程组2中使用Module Controller执行线程组1中的Sampler: 紧接着,将线程组1disa ...
随机推荐
- springmvc配置jackson时遇到的一些问题
在没接触springmvc之前我们在servlet中想返回前台json数据时,都是自定义一个JSONObject和JSONArray,然后调用response.getWriter()对象的方法返回js ...
- XM概述
概述: Extensible Markup Language: 可扩展的标记语言 特点: 语法很严格 标签自定义 作用: * 存储数据 * 做配置文件 * 用于进行数据传输 文档声明: 标示这个文档是 ...
- Jmeter启动闪退
背景:使用Jmeter进行性能测试脚本开发,实现Jmeter接口开发Java请求 问题再现: 1.在官网上下载Jmeter3.2版本,打开jmeter.bat,启动成功 2.在IDEA中创建测试项目和 ...
- mac下不允许安装除了app store之外的软件设置:
1.dock栏的系统偏好设置. 2.找到安全性与隐私 3.点击面板中的通用,在点击左小角的锁按钮, 4.选择任何来源,确定就可以了.[如果只有两个选项,而没有任何来源的话,打开终端,执行:sudo s ...
- python一个文件里面多个函数同时执行(多进程的方法,并发)
#coding=utf-8 import timefrom selenium import webdriverimport threading def fun1(a): print a def fun ...
- Java的三种工厂模式
一.简单工厂模式 简单工厂的定义:提供一个创建对象实例的功能,而无须关心其具体实现.被创建实例的类型可以是接口.抽象类,也可以是具体的类 实现汽车接口 //产品接口 //汽车需要满足一定的标准 pub ...
- Vue报错 Duplicate keys detected: '1'. This may cause an update error. vue报错
情况一.错误信息展示为关键字‘keys‘,此时应该检查for循环中的key,循环的key值不为唯一性 (很普通) 情况二.有两个相同的for循环,而这两个for循环的key值是一样的,此时将一个的ke ...
- JAVA 基础编程练习题18 【程序 18 乒乓球赛】
18 [程序 18 乒乓球赛] 题目:两个乒乓球队进行比赛,各出三人.甲队为 a,b,c 三人,乙队为 x,y,z 三人.已抽签决定比赛名单. 有人向队员打听比赛的名单.a 说他不和 x 比,c 说他 ...
- CentOS7.2环境下安装Nginx
目录 1.下载安装包 2.安装nginx 3.配置nginx开机启动 4.测试 1.下载安装包 官网下载 wget http://nginx.org/download/nginx-1.16.0.tar ...
- 限流保护——nginx限流模块
1.限制请求次数——limit_req_zone模块 a.意义:limit_req_zone 表示限制单位时间内的请求数,即速率限制,采用的漏桶算法 a.在 conf/nginx.conf 配置文件中 ...