详解AngularJS中的作用域


Posted in Javascript onJune 17, 2015

 范围扮演其视图连接控制器的角色一个特殊的JavaScript对象。范围包含了模型数据。在控制器,模型数据通过$scope对象访问。

<script>
   var mainApp = angular.module("mainApp", []);

   mainApp.controller("shapeController", function($scope) {
     $scope.message = "In shape controller";
     $scope.type = "Shape";
   });
</script>

以下是在上面的例子中需要考虑的重要问题。

  •     $scope被作为第一个参数在其构造器确定指标到控制器。
  •     $scope.message 和 $scope.type 是它们在HTML页面中所用的模型。
  •     我们已经设置模型的值将反映应用程序模块的控制器shapeController中。
  •     我们可以在$scope定义函数功能。

继承范围

范围是特定的控制器。如果我们定义嵌套的控制器,然后控制器子将继承其父控制的范围。

<script>
   var mainApp = angular.module("mainApp", []);

   mainApp.controller("shapeController", function($scope) {
     $scope.message = "In shape controller";
     $scope.type = "Shape";
   });
  
   mainApp.controller("circleController", function($scope) {
     $scope.message = "In circle controller";  
   });
</script>

以下是在上面的例子中需要考虑的重要问题。

  •     我们在shapeController设定模型的值。
  •     我们覆盖的子控制器circleController消息。当“消息”内的控制器circleController的模块使用时,将用于重写的消息。

例子

下面的例子将展示上述所有指令。
testAngularJS.html

<html>
<head>
  <title>Angular JS Forms</title>
</head>
<body>
  <h2>AngularJS Sample Application</h2>
  <div ng-app="mainApp" ng-controller="shapeController">
   <p>{{message}} <br/> {{type}} </p>
   <div ng-controller="circleController">
     <p>{{message}} <br/> {{type}} </p>
   </div>
   <div ng-controller="squareController">
     <p>{{message}} <br/> {{type}} </p>
   </div>
  </div>
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
  <script>
   var mainApp = angular.module("mainApp", []);

   mainApp.controller("shapeController", function($scope) {
     $scope.message = "In shape controller";
     $scope.type = "Shape";
   });

   mainApp.controller("circleController", function($scope) {
     $scope.message = "In circle controller";  
   });

   mainApp.controller("squareController", function($scope) {
     $scope.message = "In square controller";
     $scope.type = "Square";
   });

  </script>
</body>
</html>

结果

在Web浏览器打开textAngularJS.html。看到结果如下。

详解AngularJS中的作用域

Javascript 相关文章推荐
script标签的 charset 属性使用说明
Dec 04 Javascript
始终在屏幕中间显示Div的代码(css+js)
Mar 10 Javascript
关于jquery input textare 事件绑定及用法学习
Apr 03 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
Jun 08 Javascript
Javascript之this关键字深入解析
Nov 12 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
Oct 14 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
Nov 23 Javascript
JS 调试中常见的报错问题解决方法
May 20 Javascript
javaScript动态添加Li元素的实例
Feb 24 Javascript
详解vue 兼容IE报错解决方案
Dec 29 Javascript
JS实现星星海特效
Dec 24 Javascript
vue和H5 draggable实现拖拽并替换效果
Jul 29 Javascript
简介AngularJS中使用factory和service的方法
Jun 17 #Javascript
简介AngularJS的视图功能应用
Jun 17 #Javascript
在AngularJS中使用AJAX的方法
Jun 17 #Javascript
使用AngularJS来实现HTML页面嵌套的方法
Jun 17 #Javascript
AngularJS的表单使用详解
Jun 17 #Javascript
举例讲解AngularJS中的模块
Jun 17 #Javascript
简介AngularJS的HTML DOM支持情况
Jun 17 #Javascript
You might like
中国的第一台收音机
2021/03/01 无线电
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
PHP中uploaded_files函数使用方法详解
2011/03/09 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
jQuery使用手册之一
2007/03/24 Javascript
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
Jquery作者John Resig自己封装的javascript 常用函数
2009/11/09 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
Ajax提交与传统表单提交的区别说明
2014/02/07 Javascript
JQuery中Bind()事件用法分析
2015/05/05 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
js操作数据库实现注册和登陆的简单实例
2016/05/26 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
2017/07/03 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
2017/12/16 jQuery
vue v-for 使用问题整理小结
2019/08/04 Javascript
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
python 全文检索引擎详解
2017/04/25 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
利用HTML5 Canvas制作一个简单的打飞机游戏
2015/05/11 HTML / CSS
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
竞聘医务工作人员的自我评价分享
2013/11/04 职场文书
行政总经理岗位职责
2013/12/05 职场文书
采购主管的岗位职责
2013/12/17 职场文书
保密工作承诺书
2014/08/29 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
房屋买卖协议书范本
2014/09/27 职场文书
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技
详解MySQL的内连接和外连接
2023/05/08 MySQL