第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在AngularJS中使用$Scope、$Watch和$Scope。$應(yīng)用于AngularJS?

如何在AngularJS中使用$Scope、$Watch和$Scope。$應(yīng)用于AngularJS?

三國紛爭 2019-06-05 13:42:15
如何在AngularJS中使用$Scope、$Watch和$Scope。$應(yīng)用于AngularJS?我不知道怎么用$scope.$watch和$scope.$apply..官方文件沒什么用。我不明白的是:他們和DOM有聯(lián)系嗎?如何將DOM更改更新到模型?他們之間的連接點(diǎn)是什么?我試過本教程,但它需要理解$watch和$apply理所當(dāng)然。做什么$apply和$watch那么我該如何恰當(dāng)?shù)厥褂盟鼈兡兀?
查看完整描述

3 回答

?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個贊

在AngularJS中,我們更新模型,視圖/模板“自動”更新DOM(通過內(nèi)置或自定義指令)。

$Apply和$Watch都是作用域方法,與DOM無關(guān)。

這個概念頁面(“運(yùn)行時(shí)”部分)很好地解釋了$摘要循環(huán)、$Apply、$valAsync隊(duì)列和$Watch列表。以下是隨文而來的圖片:


任何可以訪問作用域的代碼-通常是控制器和指令(它們的鏈接函數(shù)和/或它們的控制器)-都可以設(shè)置一個“表表示法“AngularJS將根據(jù)該范圍進(jìn)行計(jì)算。每當(dāng)AngularJS進(jìn)入其$Digest循環(huán)(特別是”$watch list“循環(huán))時(shí),就會進(jìn)行此評估。您可以查看單個范圍屬性,可以定義一個函數(shù)來同時(shí)監(jiān)視兩個屬性,還可以查看數(shù)組的長度等等。

當(dāng)事情發(fā)生在“AngularJS內(nèi)部”時(shí)-例如,輸入一個具有AngularJS雙向數(shù)據(jù)庫功能的文本框(即使用ng-model)、$http回調(diào)火等。$Apply已經(jīng)被調(diào)用,所以我們在上圖中的“AngularJS”矩形中。所有的表示都將被評估(可能不止一次-直到?jīng)]有檢測到進(jìn)一步的更改)。

當(dāng)事情發(fā)生在“AngularJS之外”-例如,您在指令中使用了BIND(),然后該事件觸發(fā),導(dǎo)致您的回調(diào)被調(diào)用,或者一些jQuery注冊的回調(diào)火-我們?nèi)匀惶幱凇氨緳C(jī)”矩形中。如果回調(diào)代碼修改了任何$Watch正在觀察的內(nèi)容,則調(diào)用$Apply進(jìn)入AngularJS矩形,從而使$Digest循環(huán)運(yùn)行,從而AngularJS會注意到變化并執(zhí)行其魔術(shù)。


查看完整回答
反對 回復(fù) 2019-06-05
  • 3 回答
  • 0 關(guān)注
  • 1121 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號