因此,我有两个元素在ng中呈现--重复,当我单击一个按钮进行切换时,在短时间内这两个元素都会显示出来。
我尝试过各种各样的东西,ngIf,ngShow,ngSwitch和ngCloak,但似乎什么都没有用。
下面是一个代码示例:
<div data-ng-repeat="item in view.myModel.items">
<div class="row">
<a ng-hide="item.link" class="btn ng-cloak"
ng-click="view.getLink($index)">Get Link</a>
<a ng-show="item.link" class="btn ng-cloak"
data-ng-href="{{item.link}}" download>Download</a>
</div>
</div>
所以,问题是,在加载时,我只看到‘获取链接’按钮,这是很好的。
一旦我点击它,它就会发出一个http调用并设置'items.link‘值,这就是问题发生的地方。此时,两个按钮一起显示。
然后正确地只显示“下载”按钮。
这是http呼叫,如果您感兴趣的话:
/**
* Get a link
*/
function getLink(idx) {
Linker
.getLink(idx)
.then(onGotLink);
function onGotLink(link) {
myModel.items[idx].link = link.url;
}
}
有什么想法吗?
发布于 2015-09-27 21:29:55
所以感谢user1620220指出了这一点。问题是ng动画正在运行,导致ng隐藏动画触发,导致轻微的闪烁。
您可以关闭ng动画,或使用CSS来切换‘过渡’,如果你只想部分禁用它。
https://stackoverflow.com/questions/32809309
复制相似问题