Angularjs 使用ng if初始化昂贵元素,然后使用ng show/hide显示/隐藏
我有一个元素的生成是昂贵的。因此,我不使用以下方法将其包含在初始页面加载中:Angularjs 使用ng if初始化昂贵元素,然后使用ng show/hide显示/隐藏,angularjs,Angularjs,我有一个元素的生成是昂贵的。因此,我不使用以下方法将其包含在初始页面加载中: <div id='myExpensiveElement' ng-if='showElement'> 如果用户单击特定按钮: <button ng-click='showElement = !showElement'> 生成昂贵的元素并将其插入DOM。用户可以通过再次单击按钮来选择隐藏该元素。但是,这会导致从DOM中删除元素,需要再次生成该元素 有没有一种方法可以将ng show/h
<div id='myExpensiveElement' ng-if='showElement'>
如果用户单击特定按钮:
<button ng-click='showElement = !showElement'>
生成昂贵的元素并将其插入DOM。用户可以通过再次单击按钮来选择隐藏该元素。但是,这会导致从DOM中删除元素,需要再次生成该元素
有没有一种方法可以将ng show/hide与ng if组合在一起,如果元素已经生成一次,则切换为使用ng show/hide而不是ng if?一种不使用自定义指令的简单方法是使用另一个变量来跟踪初始化
<button ng-click='showElement = !showElement; elementInitialized = true'></button>
<div id='myExpensiveElement' ng-if='elementInitialized' ng-show='showElement'>
...
</div>
...