首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AngularJS - ngShow/ngSwitch/ngIf -双元素闪烁

AngularJS - ngShow/ngSwitch/ngIf -双元素闪烁
EN

Stack Overflow用户
提问于 2015-09-27 15:05:39
回答 1查看 1.7K关注 0票数 0

因此,我有两个元素在ng中呈现--重复,当我单击一个按钮进行切换时,在短时间内这两个元素都会显示出来。

我尝试过各种各样的东西,ngIf,ngShow,ngSwitch和ngCloak,但似乎什么都没有用。

下面是一个代码示例:

代码语言:javascript
运行
复制
<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呼叫,如果您感兴趣的话:

代码语言:javascript
运行
复制
/**
 * Get a link
 */
function getLink(idx) {
    Linker
        .getLink(idx)
        .then(onGotLink);

    function onGotLink(link) {
        myModel.items[idx].link = link.url;
    }
}

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-27 21:29:55

所以感谢user1620220指出了这一点。问题是ng动画正在运行,导致ng隐藏动画触发,导致轻微的闪烁。

您可以关闭ng动画,或使用CSS来切换‘过渡’,如果你只想部分禁用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32809309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档