Blazor Interop LocalStorage 0.4.0 ändert sich zu 0.5.1

blazor c# javascript

Frage

Ich lerne, wie man Blazor Interop benutzt, aber es hat sich kürzlich geändert, also habe ich kein einfaches Beispiel, von dem ich einen Code aus einem Arbeitsbeispiel kopiert habe und möchte ihn auf den neuen Interop ändern, hier ist der Code von Blazor 0.4.0 aus der .js-Datei

Blazor.registerFunction('saveToken', token => {
window.localStorage.setItem('jwt', token);
console.log("Authentication token has been stored.");
return true;

});

Und das von der Blazor-Seite .csthml funktioniert

Blazor.registerFunction('saveToken', token => {
window.localStorage.setItem('jwt', token);
console.log("Authentication token has been stored.");
return true;

Ich habe bereits den Blazor Doc Interop https://blazor.net/docs/javascript-interop.html gelesen und das Beispiel war sehr einfach zu folgen, aber mit localstorage weiß ich nicht wie

Akzeptierte Antwort

In 0.5+ machen Sie die Funktion nur durch das window sichtbar.

window.saveToken = token => {
    window.localStorage.setItem('jwt', token);
    console.log("Authentication token has been stored.");
    return true;
};

JsRuntime.Current.InvokeAsync<bool>("saveToken", token);

Beliebte Antwort

Oder Sie können einfach ein Nuget-Paket verwenden, das die Interop für Sie bereits wie folgt ausführt: https://github.com/BlazorExtensions/Storage




Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum