我構建了一個指令<playlist>
,它調用我的自定義服務返回並顯示視頻列表。到現在爲止還挺好。但是,我不希望此指令呈現並調用我的API,直到用戶單擊頁面上其他上的鏈接。從控制器呈現指令
如何獲得指令外部的鏈接觸發<playlist>
項目的呈現?我尋找某種onShow事件無濟於事。
我構建了一個指令<playlist>
,它調用我的自定義服務返回並顯示視頻列表。到現在爲止還挺好。但是,我不希望此指令呈現並調用我的API,直到用戶單擊頁面上其他上的鏈接。從控制器呈現指令
如何獲得指令外部的鏈接觸發<playlist>
項目的呈現?我尋找某種onShow事件無濟於事。
您可以使用ng-if directive將指令保留在DOM之外,直到點擊鏈接。當你想讓它顯示/渲染
<div ng-if="showPlaylist">
<playlist />
</div>
然後你只需設置showPlaylist
爲true:所以你的HTML代碼將看起來是這樣的。
我能夠根據dnc253的反饋來計算出結果。
<a href="" ng-click="showPlaylist = showPlaylist ? false : true">Toggle Playlist</a>
<div ng-if="showPlaylist != undefined">
<playlist ng-show="showPlaylist"></playlist>
</div>
在初始頁面加載<playlist>
被隱藏並且不呈現。點擊鏈接呈現<playlist>
。隨後的點擊切換ng-show
屬性,因此範圍不會重置。
這是偉大的,除了它似乎ngIf刪除時刪除其範圍。 'showPlaylist'將是一個切換,因此它可以被顯示和隱藏,但是我只想在第一次顯示API時調用API,然後將結果緩存在範圍中。 – Fenda