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

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

我的ng模型是否真的需要一個(gè)點(diǎn)來避免子$ scope問題?

我的ng模型是否真的需要一個(gè)點(diǎn)來避免子$ scope問題?

大話西游666 2019-12-16 16:12:28
根據(jù)https://github.com/angular/angular.js/wiki/Understanding-Scopes的說法,嘗試將數(shù)據(jù)綁定到附加到您的基本體上是一個(gè)問題$scope:范圍繼承通常是簡單明了的,并且您通常甚至不需要知道它正在發(fā)生...直到您嘗試將2路數(shù)據(jù)綁定(即表單元素,ng-model)綁定到基元(例如,數(shù)字,字符串,布爾值)從子作用域內(nèi)部在父作用域上定義。它不能像大多數(shù)人期望的那樣工作。建議是通過遵循始終具有“'”的“最佳實(shí)踐”,可以很容易地避免使用基元出現(xiàn)此問題。在您的ng模型中現(xiàn)在,我有一個(gè)非常簡單的設(shè)置,它違反了以下規(guī)則:HTML:<input type="text" ng-model="theText" /><button ng-disabled="shouldDisable()">Button</button>JS:function MyController($scope) {    $scope.theText = "";    $scope.shouldDisable = function () {         return $scope.theText.length >= 2;    };}這真的不好嗎?當(dāng)我開始嘗試以某種方式使用子范圍時(shí),這是否會以某種可怕的方式將我搞砸?我需要將其更改為類似function MyController($scope) {    $scope.theText = { value: "" };    $scope.shouldDisable = function () {         return $scope.theText.value.length >= 2;    };}和<input type="text" ng-model="theText.value" /><button ng-disabled="shouldDisable()">Button</button>這樣我才能遵循最佳做法?您能給我一個(gè)具體的例子嗎,后者將使我免于前者帶來的可怕后果?
查看完整描述

3 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

假設(shè)您有范圍M,A和B,其中M是A和B的父級。

如果(A,B)中的一個(gè)嘗試寫入M的范圍,則它將僅適用于非原始類型。原因是非基本類型通過引用傳遞。

另一方面,原始類型不是,因此嘗試theText在M的作用域上進(jìn)行寫操作將分別在A或B的作用域上創(chuàng)建同名的新屬性,而不是寫入M。如果A和B都依賴于此屬性,則會發(fā)生錯(cuò)誤,因?yàn)樗鼈冎械娜魏我粋€(gè)都不知道另一人正在做什么。



查看完整回答
反對 回復(fù) 2019-12-17
?
www說

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊

是的,我從理論上有點(diǎn)理解這個(gè)問題,但是在實(shí)際中我看不出它如何影響這個(gè)簡單的例子。例如,“如果A和B都依賴于此屬性”,什么時(shí)候成立?在我的基礎(chǔ)上建立一個(gè)示例非常好。

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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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