blazor代码调用的Javascript在DOM尚未就绪时发生?

blazor代码调用的Javascript在DOM尚未就绪时发生?,javascript,webassembly,blazor,Javascript,Webassembly,Blazor,我有一个javascript函数,它必须创建图形: <script> window.setGraph = (lab, ser) => { console.log(document.getElementById("weather-chart")); console.log(lab); console.log(ser); var chart = new Chartist.Line('#weather-chart

我有一个javascript函数,它必须创建图形:

<script>
    window.setGraph = (lab, ser) => {
        console.log(document.getElementById("weather-chart"));
        console.log(lab);
        console.log(ser);
        var chart = new Chartist.Line('#weather-chart', {
            labels: lab,
            series: ser
        });

        console.log("done");
        return true;
    }    
</script>
my console.log(文档…)返回null

如果我转到这个页面,我发现了错误,如果在得到这个错误后我做了类似于
window.setGraph([1,2,3],[1,2,3]])
的事情,在我的chrome开发者工具中,一切都被正确初始化


那么我做错了什么?为什么ChartList似乎无法找到元素?

blazor的数据绑定似乎花费了一些时间来显示html。因此,基本上在我设置了_项之后,它会更改模板,但速度不够快,无法完成后面的行(不确定原因,因为有等待).

可能重复的您似乎正在尝试在加载所有元素之前执行代码。请在页面加载所有元素之后运行脚本elements@Andr埃迪翁与此无关。它被blazor调用,所以在页面被删除后它的方式是loaded@casualcoder我想这是Blazor提供的唯一回调,不是吗?@J4N你的console.log打印什么?这些值正确吗?请记住,这是实验性的,如果你能用wait创建一个可验证的示例,你可以在他们的站点上提交一个bug,让他们找出意外的行为,或者只是认为调用了视图的刷新。
protected override async Task OnInitAsync()
{
    some-data-a = await RetrieveSomeData();
    some-data-b = await RetrieveSomeOtherData();
    JSRuntime.Current.InvokeAsync<bool>("setGraph", some-data-a, some-data-b);
}
chartist.min.js:8 Uncaught TypeError: Cannot read property 'querySelectorAll' of null
    at Object.c.createSvg (chartist.min.js:8)
    at f.d [as createChart] (chartist.min.js:8)
    at f.h (chartist.min.js:8)