从Blazor Webassembly中的.NET读取Javascript变量



我是Blazor Webassembly的新手,了解如何从.NET代码中调用javascript函数。我的问题是:是否也可以从.NET中读取和写入javascript变量

加载到页面的Javascript代码:

var Namespace1 = {
prop1: 42, 
func1: function () {
return 42;
}
}

从.NET我可以调用函数Namespace1.func1:

@code { 
//private int prop1 { get; set; } = 1;
private int ret1 { get; set; }
override protected async Task OnInitializedAsync() {
// Error: The value 'window.Namespace1.prop1' is not a function.
// ret1 = await JSRuntime.InvokeAsync<int>("Namespace1.prop1"); 
ret1 = await JSRuntime.InvokeAsync<int>("Namespace1.func1");
// return base.OnInitializedAsync();
}
}

是否可以从.NET 访问Namespace1.prop1

目前这是不可能的,因为IJsRuntime只公开调用javascript函数的方法。有关Microsoft文档的详细信息

但是您可以编写一个js函数并返回一个属性:

var Namespace1 = {
prop1: 42, 
func1: function () {
return prop1;
}
}

最新更新