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动态加载三
Aug 22 Javascript
javascript的渐进增强与平稳退化浅谈
Nov 12 Javascript
jquery实现点击文字可编辑并修改保存至数据库
Apr 15 Javascript
JavaScript中实现异步编程模式的4种方法
Sep 24 Javascript
纯js实现无限空间大小的本地存储
Jun 18 Javascript
jQuery 中的 DOM 操作
Apr 26 Javascript
JS返回只包含数字类型的数组实例分析
Dec 16 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
canvas学习之API整理笔记(一)
Dec 29 Javascript
Angular2环境搭建具体操作步骤(推荐)
Aug 04 Javascript
Vue2 模板template的四种写法总结
Feb 23 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
Dec 13 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作为Shell脚本语言使用
2006/10/09 PHP
在线短消息收发的程序,不用数据库
2006/10/09 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
2014/05/14 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
详解AngularJS中的表格使用
2015/06/16 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
python监控网站运行异常并发送邮件的方法
2015/03/13 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
基于python实现名片管理系统
2018/11/30 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
Python自定义一个异常类的方法
2019/06/27 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
python函数局部变量、全局变量、递归知识点总结
2019/11/15 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
python 用struct模块解决黏包问题
2020/11/07 Python
法雷奥SQA(electric)面试问题
2016/01/23 面试题
治安消防安全责任书
2014/07/23 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
给老婆的检讨书(搞笑版)
2015/05/06 职场文书
酒会开场白大全
2015/06/01 职场文书
运动会加油稿30字
2015/07/21 职场文书
护理自荐信
2019/05/14 职场文书