簡體   English   中英

在 Blazor Webassembly 中從 .NET 讀取 Javascript 變量

[英]Read Javascript variable from .NET in Blazor Webassembly

我是 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 docs 上的詳細信息

但是你可以寫一個js函數並返回一個屬性:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM