Angular.js之作用域scope'@','=','&'实例详解


Posted in Javascript onFebruary 28, 2017

什么是scope

AngularJS 中,作用域是一个指向应用模型的对象,它是表达式的执行环境。作用域有层次结构,这个层次和相应的 DOM 几乎是一样的。作用域能监控表达式和传递事件。

在 HTML 代码中,一旦一个 ng-app 指令被定义,那么一个作用域就产生了,由 ng-app 所生成的作用域比较特殊,它是一个根作用域($rootScope),它是其他所有$Scope 的最顶层。

除了用 ng-app 指令可以产生一个作用域之外,其他的指令如 ng-controller,ng-repeat 等都会产生一个或者多个作用域。此外,还可以通过 AngularJS 提供的创建作用域的工厂方法来创建一个作用域。这些作用域都拥有自己的继承上下文,并且根作用域都为$rootScope。

在生成一个作用域之后,在编写 AngularJS 代码时,$scope 对象就代表了这个作用域的数据实体,我们可以在$scope 内定义各种数据类型,之后可以直接在 HTML 中以 {{变量名}} 方式来让 HTML 访问到这个变量。

下面通过实例代码给大家介绍angular.js之作用域scope'@','=','&'

<!doctype html> 
<html ng-app='myApp'> 
<head> 
</head> 
<body> 
<script src="http://cdn.bootcss.com/angular.js/1.4.6/angular.js"></script>

<script src="https://cdn.bootcss.com/jquery/1.8.3/jquery.js"></script>

<div ng-controller="listCtrl" ng-app="myApp"> 


<input type="text" ng-model="color"> 


<!-- <span kid hd-color="color"></span> --> <!--@是单项数据绑定,hd-color="{{color}}"作用域隔离,在view中是以模板“{{}}”的形式;=双向绑定,hd-color="color",在view中直接以属性的形式出现-->


<div kid color="callback()"></div>

</div>
<script type="text/javascript">


var myApp=angular.module('myApp',[]); 


myApp.controller('listCtrl',function($scope){ 



$scope.color="red"; 



$scope.callback=function(){




return 'a web developer !';



}


}); 


myApp.directive('kid',function(){ 



return { 




restrict:'AE', 




//template:'<div style="color:{{color}}">@符号的学习</div>' , 




template:'<h1>{{color()}}</h1>', 




scope:{ /*color:"=hdColor"*//* "@hdColor" */color:'&'} //通过&属性名来调用控制器的函数



} 


}); 
</script>
</div> 
</body>
</html>

以上所述是小编给大家介绍的Angular.js之作用域scope'@','=','&'实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
理解Javascript_13_执行模型详解
Oct 20 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
Jan 04 Javascript
javascript 循环调用示例介绍
Nov 20 Javascript
将HTML格式的String转化为HTMLElement的实现方法
Aug 07 Javascript
谷歌浏览器调试JavaScript小技巧
Dec 29 Javascript
JS实现的Select三级下拉菜单代码
Aug 20 Javascript
JS设置CSS样式的方式汇总
Jan 21 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
Feb 13 Javascript
Jquery中attr与prop的区别详解
May 27 jQuery
vue中路由参数传递可能会遇到的坑
Dec 07 Javascript
浅谈vuex 闲置状态重置方案
Jan 04 Javascript
js实现旋转的星空效果
Nov 01 Javascript
jQuery EasyUI ProgressBar进度条组件
Feb 28 #Javascript
jQuery实现ajax无刷新分页页码控件
Feb 28 #Javascript
jQuery EasyUI Panel面板组件使用详解
Feb 28 #Javascript
AngularJS constant和value区别详解
Feb 28 #Javascript
微信小程序左右滑动切换页面详解及实例代码
Feb 28 #Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
Feb 28 #Javascript
Vue.js父与子组件之间传参示例
Feb 28 #Javascript
You might like
PHP中的switch语句的用法实例详解
2015/10/21 PHP
PHP函数超时处理方法
2016/02/14 PHP
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
AngularJS 服务详细讲解及示例代码
2016/08/17 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
2017/08/01 Javascript
jquery动态添加带有样式的HTML标签元素方法
2018/02/24 jQuery
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
Vue自定义指令写法与个人理解
2019/02/09 Javascript
JavaScript对象原型链原理解析
2020/01/22 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
详解python单例模式与metaclass
2016/01/15 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
Python如何生成树形图案
2018/01/03 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
python多线程并发及测试框架案例
2019/10/15 Python
python高级特性简介
2020/08/13 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
升职自荐信范文
2013/10/05 职场文书
制作部班长职位说明书
2014/02/26 职场文书
新党章心得体会
2014/09/04 职场文书
就业推荐表导师评语
2014/12/31 职场文书
生产设备维护保养制度
2015/08/06 职场文书
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android