當前位置:菜譜大全網 - 素菜食譜大全 - 如何在角度範圍內使用範圍

如何在角度範圍內使用範圍

本文主要介紹角鏡的具體用法,邊肖覺得挺好的。現在分享給大家,給大家壹個參考。來和邊肖壹起看看吧。

作用域是HTML(視圖)和JavaScript(控制器)之間的紐帶。

範圍是具有可用方法和屬性的對象。

範圍可以應用於視圖和控制器。

$rootScope

默認情況下,每個AngularJs應用程序都有壹個根作用域- $rootScope,它位於頂層,可以用作其他作用域的父作用域。

$範圍

作用域對應的是MVC模式的模型,是HTML(視圖)和JavaScript(控制器)的紐帶,視圖和控制器都可以應用。

作用域是表達式執行的上下文,作用域也是具有可用方法和屬性的對象。

首先,變量的值和賦值

& ltp ng-controller = " parent ctrl " & gt;

& ltspan & gt{ { number } } & lt/span>。

& ltp ng-controller="childCtrl " >

& ltspan & gt{ { number } } & lt/span>。

& ltbutton ng-click = " number = number+1 " & gt;增加

& lt/p & gt;

& lt/p & gt;

函數parentCtrl($scope){

$ scope . number = 1;

}

函數childCtrl($scope){

}效果:

界面上顯示了兩個1,但是當我們點擊按鈕時,childCtrl範圍內的數據發生了變化,而parentCtrl範圍內的數據沒有變化。

分析:

①childCtrl作用域繼承parentCtrl作用域(類似於JavaScript的原型鏈繼承),所以childCtrl作用域可以訪問parentCtrl的內容。

②點擊按鈕後,childCtrl的作用域會創建壹個number基本類型變量,當childCtrl有壹個基本類型變量時,不會訪問原型鏈。

求解:

①可以用$parent指定父作用域的變化。

& ltp ng-controller = " parent ctrl " & gt;

& ltspan & gt{ { number } } & lt/span>。

& ltp ng-controller="childCtrl " >

& ltspan & gt{ { number } } & lt/span>。

& ltbutton ng-click = " $ parent . number = number+1 " >增加

& lt/p & gt;

& lt/p & gt;(2)使用引用類型變量,內部和外部作用域都是對數據對象的引用,修改對象的屬性仍然引用同壹個變量。

& ltp ng-controller = " parent ctrl " & gt;

& ltspan & gt{ { data.number } } & lt/span>。

& ltp ng-controller="childCtrl " >

& ltspan & gt{ { data.number } } & lt/span>。

& ltbutton ng-click = " data . number = data . number+1 " >增加

& lt/p & gt;

& lt/p & gt;

函數parentCtrl($scope){

$ scope . data . number = 123 ';

}

函數childCtrl($scope){

} ng-if、ng-repeat、ng-switch、ng-include等指令也會生成新的作用域。

第二,指令中的範圍

。指令(" myDirective ",function () {

返回{

限制:“AE”,

範圍:{

姓名:“@我的姓名”,

年齡:' = ',

變化:' & amp'更改我的年齡'

},

替換:真,

模板:“& lt'我的指令' >+

“我的名字是:

“我的年齡是:

“在這裏修改名稱:

“& ltbutton ng-click = ' change age()' & gt;修改年齡

“& lt/p >;

}①範圍:假

當scope設置為false時,我們創建的指令和父作用域(實際上是同壹個作用域)* * *共享同壹個模型,所以如果我們修改了指令中的模型數據,就會反映到父作用域的模型中。

②範圍:真

當scope設置為true時,我們創建壹個新的作用域,但是這個作用域是繼承的父作用域;可以理解為我們新創建的作用域是壹個新的作用域,但是在初始化的時候,我們使用了父作用域的屬性和方法來填充我們的新作用域。它與父作用域不同。

③範圍:{}

@這是單個綁定的前綴標識符。

& ltp my-directive my-name = " { { name } } " & gt;& lt/p & gt;屬性的名字應該是-來連接兩個單詞,因為是數據的單個綁定,所以數據應該用{{}}來綁定。

=這是雙向數據綁定前綴標識符。

& ltp my-directive age="age " >& lt/p & gt;數據的雙向綁定要通過=前綴標識符來實現,所以不能使用{{}}。

& amp這是綁定函數方法的前綴標識符。

& ltp my-directive change-my-age = " change age()" & gt;& lt/p & gt;屬性的名稱應該是-以連接多個單詞。

以上是我為大家整理的,希望以後對大家有幫助。

相關文章:

如何用react實現菜單權限控制

詳細解釋props如何在vue.js中傳遞參數

如何實現輸入中的動態模糊查詢