我正在开发角度2应用程序,其中我尝试使用ng2-bootstrap。
这是我的demoComponent.ts,用于简单的标签控件
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.IllegalArgumentException: The property "sonar.cs.fxcop.assembly" must be set and the project must have been built to execute FxCop rules. This property can be automatically set by the Analysis Bootstrapper for Visual Studio Projects plugin, see: http://docs.codehaus.org/x/TAA1Dg.If you wish to skip the analysis of not built projects, set the property "sonar.visualstudio.skipIfNotBuilt".
at org.sonar.plugins.fxcop.FxCopConfiguration.checkMandatoryProperties(FxCopConfiguration.java:105)
这是我的demo.html
import { Component, View, Inject} from 'angular2/core';
import { CORE_DIRECTIVES } from 'angular2/common';
import { TAB_COMPONENTS } from 'ng2-bootstrap/ng2-bootstrap';
// webpack html imports
@View({
templateUrl: '/scripts/src/components/demo/demo.html',
directives:[TAB_COMPONENTS, CORE_DIRECTIVES]
})
@Component({
selector: 'tabs-demo',
})
export class DemoComponent {
}
这是我的index.html
<div >
<tabset>
<tab heading="Static 1">Static 1</tab>
<tab heading="Static 2">Static 2</tab>
<tab heading="Static 3">Static 3</tab>
<tab heading="Static 4">Static 4</tab>
<tab heading="Static 5">Static 5</tab>
</tabset>
</div>
但是当我运行我的应用程序时,它会给我错误
EXCEPTION:Tabset @ 1:20&#39;中的表达式&#39; classMap检查后发生了变化。上一个值:&#39; [object Object]&#39;。当前值:&#39; [object Object]&#39;在[classMap in Tabset @ 1:20]
中
请纠正我正确运行
答案 0 :(得分:2)
这是由开发模式中的额外更改检测转弯引起的。 当第二个转弯识别出值更改时,这意味着更改检测本身会导致值更改,或者每次调用时,getter或函数都会返回不同的值。这应该可以帮助您找到错误。
通常这是由函数或getter引起的,每次调用它时都会返回一个新实例。即使例如数组包含相同的值但返回包含相同值的 new 数组,也会将其识别为更改。尽量避免这种情况。
在调用enableProdMode()
之前,您可以通过调用bootstrap()
(如控制台输出所示)来关闭开发模式。