管理我的父母 - 子女狀態時遇到問題,主要是因爲我是ui-router的新手。但是,我已經完成了研究並找到了需要對路由進行硬編碼但不是動態的解決方案。Angular UI路由器ng-if當前確切狀態
我目前有:
<div> <!-- parent state -->
<div ng-if="'.' | isState">
<!--
background hierarchy that should be visible only when
parent state is active and not a child state of the parent
-->
</div>
<nav>
<a ui-sref="." ui-sref-active="active">Parent</a>
<a ui-sref=".child1" ui-sref-active="active">Child 1</a>
<a ui-sref=".child2" ui-sref-active="active">Child 2</a>
</nav>
<div ui-view></div>
</div>
我試圖完成? 當父代加載時,我希望背景顯示一些內容。它佔據了整個屏幕。 ui-view
不會佔用整個屏幕。因此,當路線與父母的狀態不完全匹配時,我希望隱藏或移除背景元素(如果父母的路線是/root/parent
,我希望背景僅在狀態恰好爲/root/parent
而不是/root/parent/child1
時可見)。
我能夠實現我想要的只有當我提供確切的預期路線。例如ng-if="'root.parent' | isState"
。
此外,ui-sref-active="active"
保留active
類顯示子視圖時(這是預期的,但我希望班級只有在路線完全匹配時纔有效)。
但是,我不認爲這是很好的父母路線的硬編碼視圖。我只是想讓它匹配它所屬的任何路線。因此,如果我稍後決定將其移至/root/parent/car
,則不必更新ng-if
和ui-sref-active
以反映更改。
有沒有人遇到問題,並能夠解決它?
你有父母子女等級的原因是什麼? – arqam
從子路徑'Child 1'中刪除'active'類並將'css'添加到'active'類,以便它只出現在背景中。 – Sravan
@arqam頁面的主要內容實際上顯示爲背景,並且子項包含可隱藏的可選內容。 – DraganTL