zoukankan      html  css  js  c++  java
  • 用ngif 多次判断 Expression has changed after it was checked

    昨天遇到一个问题 ,用ng

    Expression has changed after it was checked
    

      

    查了一下说在angular2中,这个错误只会在dev开发模式下出现,在pro发布版本中不会出现,通过enableProdMode()可以控制 
    在组件中增加这段代码可以去掉这个检查,但是不建议这么做。

    import {enableProdMode} from '@angular/core';
    enableProdMode();
    

     报错原因是angular4 的一种机制吧。

    在dev模式下,额外增加了一次变化检测,在第一轮变化检测周期结束后,会立即进行第二轮变化检测,对比两次检测值,如果不相同,则认为是变化检测引起的。

    这个错误经常出现在组件通信时,在输入绑定中(set input,ngOnChanges等等,函数或getter等)修改了其他成员变量导致的,这类函数必须没有副作用。

    这句必须添加到main.ts 

    此处使用该方法前一定要先 import 它,就像 platformBrowserDynamic() 方法一样。

    注意,上述代码要放在 platformBrowserDynamic() 方法前使用,否则会报错:

    Error: (SystemJS) Cannot enable prod mode after platform setup.
    OK,现在已经知道如何切换工作模式了,现阶段还是使用开发模式吧。
    

      

  • 相关阅读:
    软件测试进程&测试类型
    课堂笔记:软件测试知识点汇总小结
    闰年测试程序
    关于 int.parse("abcd") 出错的问题分析及解决方案
    软件测试——字符串检测2.0
    边界值分析法实例分析
    测试管理
    软件评审
    单元测试与集成测试
    白盒测试
  • 原文地址:https://www.cnblogs.com/wupeng88/p/7776964.html
Copyright © 2011-2022 走看看