0

我想給一個$ scope變量賦值另一個$ scope變量的值。有人能告訴我發生了什麼問題嗎?看看簡單plunker的細節:

http://plnkr.co/edit/TlKnd2fM5ajrlkKKhKZ1?p=preview

我知道我缺少在$範圍內的工作方式的一個基本概念,但我不能找出它是什麼。如果你不介意的話,有人打我並給我那個'Ahaaaa'的時刻。

回答

2

問題是當您分配給greeting屬性的內容在username更改時未得到重新評估。 greeting卡住username的初始值(空白)。你可以建立一個觀察上username和修改問候時username變化,或者你可以更改視圖:分配給greeting

<div ng-controller="Parent"> 
    {{username}} {{greeting}} 
    <!-- ... --> 
</div> 

,並且不使用username

$scope.greeting = 'is so confused.'; 

這裏是一個updated example

+1

啊!我確實需要greeting變量中的用戶名變量,所以手錶就是要走的路!我在這裏做了一個蹦極:http://plnkr.co/edit/TlKnd2fM5ajrlkKKhKZ1?p=preview – klinore

0

這沒有什麼錯,你在做什麼,是的,但你不能指望greeting得到每次username變化更新,因爲綁定(即創建一個$watch)在greeting完成,這是一個字符串。所以每當一個$digest循環出現時,它只會重新評估變量greeting到相同的結果(「非常困惑」。)。

你需要的屬性綁定要保持這樣的更新:

plunker

相關問題