0
如果我使用的是具有多個視圖的狀態,我該如何銷燬其中一個視圖的範圍?我嘗試以下,並沒有奏效:
<div ng-if='showFilters' ui-view="filters"></div>
<div ui-view="tabledata"></div>
<div ui-view="graph"></div>
即使$ scope.showFilters設置爲false,在「過濾器」視圖範圍內仍然存在。我想知道ng-if是否只是在摧毀它的子範圍,但不知道ui-view的範圍。我很感激幫助。
你可以提供更多的信息/可能是PLUNK嗎?當你說範圍仍然存在時,你的意思是什麼?無論是否銷燬子狀態父元素,在子狀態中設置的值都將保留在父狀態,除非被覆蓋。另外 - 你使用的是什麼版本的Angular和Ui-Router? –
我現在會把一個笨蛋放在一起。而且我沒有引用在兒童狀態中設置的值...我同意你的觀點。我所說的是將ng-if設置爲false似乎不會破壞ui-view的範圍。我認爲這是一個與ng-if範圍無關的完全不同的範圍,所以我試圖找出將ng-if設置爲false將會破壞自身及其準過濾器範圍的方法。 Angular版本是1.2.27,Ui-Router是0.2.15 – jkossis
plunkr似乎很難用我試圖展示的多個視圖...我猜我的問題的根源是,如何獲取ng - 如果影響由ui-view創建的範圍。如果ng-if爲false,它仍然不會破壞與「過濾器」視圖相關的範圍。我知道這是因爲它仍然從父節點的$廣播接收消息。 – jkossis