详解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 相关文章推荐
js原生态函数中使用jQuery中的 $(this)无效的解决方法
May 25 Javascript
jQuery无刷新分页完整实例代码
Oct 27 Javascript
浅析jquery与checkbox的checked属性的问题
Apr 27 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
Dec 13 Javascript
使用vue实现点击按钮滑出面板的实现代码
Jan 10 Javascript
微信小程序 五星评价功能的实现
Mar 09 Javascript
在js中做数字字符串补0(js补零)
Mar 25 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
Mar 27 jQuery
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
Vue中使用sass实现换肤功能
Sep 07 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
Nov 21 Javascript
原生js生成图片验证码
Oct 11 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
windows下升级PHP到5.3.3的过程及注意事项
2010/10/12 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
Yii rules常用规则示例
2016/03/15 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
js字符编码函数区别分析
2008/06/05 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
python连接数据库的方法
2017/10/19 Python
目前最全的python的就业方向
2018/06/05 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
python实现复制文件到指定目录
2019/10/16 Python
python入门之井字棋小游戏
2020/03/05 Python
CSS3 transform的skew属性值图文详解
2014/07/21 HTML / CSS
法人代表委托书
2014/04/04 职场文书
节约用电标语
2014/06/17 职场文书
机械专业求职信范文
2014/07/15 职场文书
2015年感恩父亲节活动策划方案
2015/05/05 职场文书
导游词之镜泊湖
2019/12/09 职场文书