我有一個簡單的使用AngularJS創建的數據表。表中的一列是根據控制器上的功能計算出來的。在Angular + UI中創建獨立範圍的問題引導
我打開一個新的模式在網頁上的按鈕。當我使用UI引導打開一個模式時,如預期的那樣,我得到一個新的獨立範圍(根範圍的子節點)。但是,如果我在模式中有輸入文本,則在此文本字段中的任何按鍵都會自動調用父範圍上的函數 - 即使我可以驗證範圍是否被隔離。
這裏是行爲的plunkr:http://plnkr.co/edit/JzhxSDcSefDe04Psxq0w
如該示例中所示,表的第三列與一個名爲「ageNextYear」函數來計算。當表格被渲染時,這個函數被調用多次(可以在控制檯日誌中驗證)。但是,如果打開模式並在該字段中鍵入一些文本,則父級作用域上的「ageNextYear」函數仍會被調用(在輸入字段中鍵入一些文本並查看控制檯日誌輸出)。
我不知道這是否是預期的行爲,或者我是否做錯了什麼。我已經嘗試在兩個作用域上使用點符號,並明確地將新作用域傳遞給$ modal.open,但沒有喜悅。
我可以解決這個問題(通過創建一個關於「人」的watchCollection並以這種方式更新表 - 這可能是一個更好的方式來做這個),但是想驗證其他人是否也看到了這種行爲。
是否有可能你的問題與指令modalWindow使用'transclude'的事實有關嗎? – koolunix