小编Sha*_*hid的帖子

ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后发生了变化.上一个值:'undefined'

我知道在stackoverflow中已经发布了很多相同的问题并尝试了不同的解决方案以避免运行时错误,但它们都不适用于我.

错误

组件和Html代码

export class TestComponent implements OnInit, AfterContentChecked {
    @Input() DataContext: any;
    @Input() Position: any;
    sampleViewModel: ISampleViewModel = { DataContext: : null, Position: null };
    constructor(private validationService: IValidationService, private modalService: NgbModal, private cdRef: ChangeDetectorRef) {
    }

    ngOnInit() {

    }
    ngAfterContentChecked() {

            debugger;
            this.sampleViewModel.DataContext = this.DataContext;
            this.sampleViewModel.Position = this.Position;

    }


<div class="container-fluid sample-wrapper text-center" [ngClass]="sampleViewModel.DataContext?.Style?.CustomCssClass +' samplewidget-'+ sampleViewModel.Position?.Columns + 'x' + sampleViewModel.Position?.Rows">
     //some other html here
</div>
Run Code Online (Sandbox Code Playgroud)

请注意:使用DynamicComponentLoader动态加载此Component

在我遇到麻烦之后,我发现了几个问题

首先,使用DynamicComponentResolver动态加载此子组件,并传递输入值,如下所示

 ngAfterViewInit() {
    this.renderWidgetInsideWidgetContainer();

  }


  renderWidgetInsideWidgetContainer() {
    let component = this.storeFactory.getWidgetComponent(this.dataSource.ComponentName);
    let …
Run Code Online (Sandbox Code Playgroud)

runtime-error angular

48
推荐指数
6
解决办法
6万
查看次数

处理 SonarQube 错误“javax.validation.constraints.NotNull”的最佳方法是什么

考虑下面的代码。当我分析声纳规则的代码时,它抱怨“javax.validation.constraints.NotNull”但没有在这个构造函数中初始化

我可以通过使用默认值初始化字段来解决它(请参阅此处的示例),但它会使 @NotNull 注释变得多余。所以我的问题是如何以最好的方式解决这个问题。

public class Dummy {

    @NotNull(message = "Dummy field cannot be null")
    private Integer dummyField;

    public Dummy(Integer dummyField) {
        this.dummyField = dummyField;
    }

    public Integer getDummyField() {
        return dummyField;
    }

    public void setDummyField(Integer dummyField) {
        this.dummyField = dummyField;
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring-boot sonarqube struts2-jsr303-plugin

2
推荐指数
1
解决办法
2172
查看次数

jQuery不适用于Firefox,但适用于Chrome

我有这个jQuery代码:

function action(action){
    event.preventDefault();
    var products = $("#check-list input:checkbox:checked").map(function(){
      return $(this).val();
    }).get();
    var string = JSON.stringify(products);
    var table = $('#table').val();

    if(products.length != '0' || action === 'old-all'){
        $.ajax({
            type: 'post',
            url: 'app/toolbar.php',
            data: {action:action, table:table, ids:string},
            success:function(data){
                localStorage.setItem('notify', data);
                location.reload();
            },
        });
    } else{
        notify('You must choose an element first');
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用jQuery 3.3.1.

如果我点击一个按钮而没有选中我应该得到的复选框,You must choose an element first但如果我选择一个元素toolbar.php应该运行并做必须完成的事情(根据按下的按钮:

<button class="grey-btn" onClick="action('delete')">Delete</button>
<button class="grey-btn" onClick="action('update')">Update</button>
Run Code Online (Sandbox Code Playgroud)

Chrome完美地工作但它不起作用Firefox.我正在尝试一些答案,我在其他类似的'铬上的作品,但没有在Firefox上'的问题,但他们都没有一个工作:(

javascript ajax jquery cross-browser

2
推荐指数
1
解决办法
671
查看次数