首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Angular ngClass ghost类

Angular ngClass ghost类
EN

Stack Overflow用户
提问于 2016-08-03 05:08:09
回答 1查看 622关注 0票数 1

我用ngClass做了一个简单的类切换,使用材质设计图标(可能不相关)。下面是一个例子:

代码语言:javascript
运行
复制
<button ng-click="toggle = !toggle">
  <i class="mdi" ng-class="{'mdi-filter': toggle, 'mdi-filter-remove': !toggle}"></i>
</button>

由于某些原因它不起作用,'mdi-filter-remove‘类将在!true求值时被删除。因此,为了测试,我将类更改为“mdi-filter-outline”。有了这个类,它以某种方式工作得很好!我只是改变了类,如果我把前一个放回去,它就会停止工作。最奇怪的是,在切换到“mdi-filter-outline”类之前,“mdi-filter-remove”类会瞬间闪烁。

如果我为切换设置了一个断点,并开始点击'step over next function call‘,我确实会在几次点击之后看到'mdi-filter-remove’,就在执行angular.js中的17286行之后:

代码语言:javascript
运行
复制
fn(value, ((last === initWatchVal) ? value : last), current);

这个类没有在项目中的任何地方使用,我用atom搜索了整个项目,没有匹配!它是从哪里来的?

请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-03 09:59:47

你的项目中有ngAnimate吗?如果这样做,则使用ng-class添加和删除类会导致在幕后添加和删除一些特殊的类,以便与过渡动画一起使用。其中一个特殊类是带有-remove后缀的类。例如,如果您使用ng-class添加和删除了一个名为my-class的类,那么每当元素转换时,my-class-addmy-class-remove类也将与它们一起显示。这就是为什么你会在瞬间看到它。

因此,您应该只重命名您的类。-remove后缀与angular自动执行的操作冲突。

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

https://stackoverflow.com/questions/38730482

复制
相关文章

相似问题

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