2014-03-01 18 views
1

我在Angular-UI-Bootstrap模式中遇到了一種奇怪的單向綁定行爲。在Angular-UI模式中奇怪的單向綁定

在模態html中,兩天的數據綁定似乎工作正常,但控制器上的作用域變量模型由於某種原因沒有更新。

但是,如果範圍變量是一個對象,那麼雙向綁定似乎傳播到控制器。

有誰知道爲什麼會發生這種情況?無論如何要解決它?

我已經做了一個蹲下來證明這個問題。

One way binding in Modal problem

回答

2

這似乎是最常見的問題,我看到有角的人; 嵌套示波器。看看下面的資源:http://jimhoskins.com/2012/12/14/nested-scopes-in-angularjs.html

這基本上歸結爲以下內容。如果您嘗試訪問$scope.someVal,角度將搜索尋找someVal的母鏈,如果找到將返回給您。如果您嘗試更改someVal,則只會在當前範圍內創建一個新的someVal

但是,如果您嘗試訪問$scope.someObj.someVal,則閱讀的操作方式相同。除了這次,如果您嘗試更改someVal,它將更改someObj中的值,而不管哪個範圍正在指揮更新。

+0

感謝您的鏈接。我相信這個問題與嵌套的作用域問題有關,即使我嘗試了不同的名稱,使用scope選項參數鏈接和不鏈接到父作用域。沒有什麼似乎有所作爲。我想我只需要創建一個對象,如果我想從模態控制器讀取更改後的模型值。 –