我已经构建了一个指令<playlist>
,它调用我的自定义服务返回,然后显示一个视频列表。到现在为止还挺好。但是,在用户点击页面上别处的链接之前,我不希望此指令呈现并调用我的API。
如何在指令之外使用链接触发<playlist>
项目的呈现?我找了一些onShow事件无济于事。
答案 0 :(得分:2)
您可以使用ng-if directive将指令保留在DOM之外,直到单击链接。所以你的HTML看起来像这样:
<div ng-if="showPlaylist">
<playlist />
</div>
然后,当您希望它显示/渲染时,您只需将showPlaylist
设置为true。
答案 1 :(得分:0)
我能够根据 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
属性,因此不会重置范围。