Angular.js之作用域scope'@','=','&'實(shí)例詳解
什么是scope
AngularJS 中,作用域是一個(gè)指向應(yīng)用模型的對象,它是表達(dá)式的執(zhí)行環(huán)境。作用域有層次結(jié)構(gòu),這個(gè)層次和相應(yīng)的 DOM 幾乎是一樣的。作用域能監(jiān)控表達(dá)式和傳遞事件。
在 HTML 代碼中,一旦一個(gè) ng-app 指令被定義,那么一個(gè)作用域就產(chǎn)生了,由 ng-app 所生成的作用域比較特殊,它是一個(gè)根作用域($rootScope),它是其他所有$Scope 的最頂層。
除了用 ng-app 指令可以產(chǎn)生一個(gè)作用域之外,其他的指令如 ng-controller,ng-repeat 等都會產(chǎn)生一個(gè)或者多個(gè)作用域。此外,還可以通過 AngularJS 提供的創(chuàng)建作用域的工廠方法來創(chuàng)建一個(gè)作用域。這些作用域都擁有自己的繼承上下文,并且根作用域都為$rootScope。
在生成一個(gè)作用域之后,在編寫 AngularJS 代碼時(shí),$scope 對象就代表了這個(gè)作用域的數(shù)據(jù)實(shí)體,我們可以在$scope 內(nèi)定義各種數(shù)據(jù)類型,之后可以直接在 HTML 中以 {{變量名}} 方式來讓 HTML 訪問到這個(gè)變量。
下面通過實(shí)例代碼給大家介紹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> --> <!--@是單項(xiàng)數(shù)據(jù)綁定,hd-color="{{color}}"作用域隔離,在view中是以模板“{{}}”的形式;=雙向綁定,hd-color="color",在view中直接以屬性的形式出現(xiàn)-->
<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}}">@符號的學(xué)習(xí)</div>' ,
template:'<h1>{{color()}}</h1>',
scope:{ /*color:"=hdColor"*//* "@hdColor" */color:'&'} //通過&屬性名來調(diào)用控制器的函數(shù)
}
});
</script>
</div>
</body>
</html>
以上所述是小編給大家介紹的Angular.js之作用域scope'@','=','&'實(shí)例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
解決三元運(yùn)算符 報(bào)錯(cuò)“SyntaxError: can''''t assign to conditional expre
在本篇文章里小編給大家整理的是關(guān)于python三元運(yùn)算符 報(bào)錯(cuò)“SyntaxError: can't assign to conditional expression”的處理方法,需要的朋友們學(xué)習(xí)下。2020-02-02
使用AngularJS創(chuàng)建單頁應(yīng)用的編程指引
這篇文章主要介紹了使用AngularJS創(chuàng)建單頁應(yīng)用的編程指引,AngularJS是一款高人氣的JavaScript庫,需要的朋友可以參考下2015-06-06
Angular-Ui-Router+ocLazyLoad動態(tài)加載腳本示例
本篇文章主要介紹了Angular-Ui-Router+ocLazyLoad動態(tài)加載腳本示例,可以提高加載速度,使用戶體驗(yàn)更好,有興趣的可以了解一下。2017-03-03
深究AngularJS——ng-checked(回寫:帶真實(shí)案例代碼)
本篇文章主要介紹了深究AngularJS——ng-checked(回寫:帶真實(shí)案例代碼),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Angular2中select用法之設(shè)置默認(rèn)值與事件詳解
在Angular.JS中可以使用數(shù)組或?qū)ο髣?chuàng)建一個(gè)下拉列表選項(xiàng)。關(guān)于Angular.js中select的基礎(chǔ)相信大家應(yīng)該都已經(jīng)了解了,那么下面這篇文章主要給大家介紹了Angular2中select用法之設(shè)置默認(rèn)值與事件的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05
Angularjs 實(shí)現(xiàn)一個(gè)幻燈片示例代碼
本文主要介紹Angularjs 寫一個(gè)幻燈片的知識,這里整理了詳細(xì)的資料,及實(shí)現(xiàn)代碼和實(shí)現(xiàn)效果圖有需要的小伙伴可以參考下2016-09-09
Ionic + Angular.js實(shí)現(xiàn)圖片輪播的方法示例
圖片輪播在我們?nèi)粘i_發(fā)中是再熟悉不過的了,下面這篇文章主要給大家介紹了Ionic + Angular實(shí)現(xiàn)圖片輪播的方法,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧。2017-05-05
Angularjs 動態(tài)改變title標(biāo)題(兼容ios)
這篇文章主要介紹了 Angularjs 動態(tài)改變title標(biāo)題(兼容ios)的相關(guān)資料,需要的朋友可以參考下2016-12-12

