Blazor 0.7.0 ู
ุชุงุญ ุงูุขู! ูุฑูุฒ ูุฐุง ุงูุชุญุฏูุซ ุนูู ADRs (ุงูุนูุงูุงุช ุจูู ุงูุฃุฌุฏุงุฏ ูุงูุณููู). ุจุงูุฅุถุงูุฉ ุฅูู ุฐูู ุ ุฃุถููุง ุจุนุถ ุงูุชุญุณููุงุช ุนูู ุนู
ููุฉ ุงูุชุตุญูุญ. ู
ุฒูุฏ ู
ู ุงูุชูุงุตูู ุชุญุช ุงูุฎูุถ!
ูุจุฐุฉ ุนู Blazor: ุฅุทุงุฑ ุนู
ู ูุชุทุจููุงุช ุงูู
ุชุตูุญ ู
ูุชูุจุฉ ูู .NET ูุชู
ุฅุทูุงููุง ุจุงุณุชุฎุฏุงู
WebAssembly. ูู
ูุญู ุฌู
ูุน ู
ุฒุงูุง ุงูุชุทุจููุงุช ุงูุญุฏูุซุฉ ุฐุงุช ุงูุตูุญุฉ ุงููุงุญุฏุฉ (SPA) ุ ุจููู
ุง ูุณู
ุญ ูู ุจุงุณุชุฎุฏุงู
.NET ู
ู ุงูุจุฏุงูุฉ ุฅูู ุงูููุงูุฉ ุ ูุตููุงู ุฅูู ุงูุชุนููู
ุงุช ุงูุจุฑู
ุฌูุฉ ุงูุดุงุฆุนุฉ ุนูู ุงูุฎุงุฏู
ูุงูุนู
ูู. [
1 ]
ู
ูุฏู
ุฉ ุตุบูุฑุฉ ุฃู "ู
ุง ูู Blazorุ" .
ุฅููู ุงูู
ูุฒุงุช ุงูุฌุฏูุฏุฉ ูู Blazor 0.7.0:
- ุงูููู
ูุงูู
ุนูู
ุงุช ุงูู
ุชุชุงููุฉ
- ุชุญุณููุงุช ุงูุชุตุญูุญ
ูู
ูู ุงูุนุซูุฑ ุนูู ูุงุฆู
ุฉ ูุงู
ูุฉ ุจุงูุชุบููุฑุงุช ูู ูุฐุง ุงูุฅุตุฏุงุฑ ูู
ู
ูุงุญุธุงุช ุงูุฅุตุฏุงุฑ Blazor 0.7.0 .
ุงุญุตู ุนูู Blazor 0.7.0
ูู
ุจุชุซุจูุช ู
ุง ููู:
- .NET Core 2.1 SDK (2.1.500 ุฃู ุฃุญุฏุซ).
- Visual Studio 2017 (15.9 ุฃู ุฃุญุฏุซ) ู
ุน ASP.NET.
- ุฃุญุฏุซ ู
ูุญู Blazor Language Services ู
ู Visual Studio Marketplace.
- ููุงูุจ Blazor ูู ุณุทุฑ ุงูุฃูุงู
ุฑ:
dotnet new -i Microsoft.AspNetCore.Blazor.Templates
ูู
ููู ุงูุนุซูุฑ ุนูู ุงูุชุนููู
ุงุช ูุงููุซุงุฆู ูุงูุฃุฏูุฉ ุงูุฎุงุตุฉ ุจู Blazor ุนูู
blazor.net .
ุชุฑููุฉ ู
ุดุฑูุน ู
ูุฌูุฏ ุฅูู Blazor 0.7.0
ูุชุฑููุฉ ู
ุดุฑูุน Blazor 0.6.0 ุฅูู 0.7.0:
- ูู
ุจุชุนููู ุงูู
ุชุทูุจุงุช ุงูู
ุฐููุฑุฉ ุฃุนูุงู.
- ูู
ุจุชุญุฏูุซ ุญุฒู
Blazor ูู
ุฑุงุฌุน ุฃุฏุงุฉ .NET CLI ุฅูู 0.7.0. ูุฌุจ ุฃู ูุจุฏู ู
ูู ู
ุดุฑูุน Blazor ุงูู
ุญุฏุซ ูู
ุง ููู:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework> <RunCommand>dotnet</RunCommand> <RunArguments>blazor serve</RunArguments> <LangVersion>7.3</LangVersion> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.Blazor.Browser" Version="0.7.0" /> <PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="0.7.0" /> <DotNetCliToolReference Include="Microsoft.AspNetCore.Blazor.Cli" Version="0.7.0" /> </ItemGroup> </Project>
ูุฐุง ูู! ุงูุขู ูู
ููู ุชูููู
ุฃุญุฏุซ ู
ูุฒุงุช Blazor.
ุงูููู
ูุงูู
ุนูู
ุงุช ุงูู
ุชุชุงููุฉ
ูู
ูู ูู
ูููุงุช Blazor ูุจูู ุงูู
ุนูู
ุงุช ุงูุชู ูู
ูู ุงุณุชุฎุฏุงู
ูุง ูููู ุงูุจูุงูุงุช ุฅูู ุงูู
ููู ูุงูุชุฃุซูุฑ ุนูู ุนุฑุถ ุงูู
ููู. ูุชู
ุชูููุฑ ููู
ุงูู
ุนูู
ุงุช ู
ู ุงูู
ููู ุงูุฃุตูู ุฅูู ุงูู
ููู ุงููุฑุนู. ูู
ุน ุฐูู ุ ูู ุจุนุถ ุงูุฃุญูุงู ุ ูููู ู
ู ุบูุฑ ุงูู
ูุงุณุจ ููู ุงูุจูุงูุงุช ู
ู ู
ููู ุณูู ุฅูู ู
ููู ุณููู ุ ุฎุงุตุฉ ุนูุฏู
ุง ูููู ููุงู ุงูุนุฏูุฏ ู
ู ุงูุทุจูุงุช ุจูููู
ุง. ุชุญู ุงูููู
ูุงูู
ุนูู
ุงุช ุงูู
ุชุชุงููุฉ ูุฐู ุงูู
ุดููุฉ ู
ู ุฎูุงู ุชูููุฑ ุทุฑููุฉ ู
ูุงุณุจุฉ ูู
ููู ุงูุณูู ูุชูุฏูู
ููู
ุฉ ุชููู ู
ุชุงุญุฉ ุจุนุฏ ุฐูู ูุฌู
ูุน ุงูู
ูููุงุช ุงูู
ุชุณุงูุทุฉ. ูู
ุง ุฃููุง ุชููุฑ ุทุฑููุฉ ุฑุงุฆุนุฉ ูุชูุณูู ุงูู
ูููุงุช.
ุนูู ุณุจูู ุงูู
ุซุงู ุ ุฅุฐุง ููุช ุชุฑุบุจ ูู ุชูุฏูู
ุจุนุถ ุงูู
ุนููู
ุงุช ุญูู ู
ูุถูุน ูุฌุฒุก ู
ุนูู ู
ู ุงูุชุทุจูู ุงูุฎุงุต ุจู ุ ูู
ููู ุชู
ุฑูุฑ ุงูุฃูู
ุงุท ูุงููุฆุงุช ุงูู
ูุงุณุจุฉ ู
ู ู
ููู ุฅูู ู
ููู ุ ูููู ูุฐุง ุณูููู ู
ู
ูุงู ููุณุชุบุฑู ููุชูุง ุทูููุงู. ุจุฏูุงู ู
ู ุฐูู ุ ูู
ูู ุฃู ูููุฑ ุงูู
ููู ุงูุฑุฆูุณู ุงูุนุงู
ู
ุนููู
ุงุช ุงูู
ูุถูุน ูููู
ุฉ ู
ุชุชุงููุฉ ูู
ูู ููุฃุญูุงุฏ ูุจูููุง ูู
ุนูู
ุฉ ู
ุชุชุงููุฉ ุซู
ุงุณุชุฎุฏุงู
ูุง ุนูุฏ ุงูุญุงุฌุฉ.
ุงูุชุฑุถ ุฃู ูุฆุฉ
ThemeInfo
ุชููู ุฌู
ูุน ุงูู
ุนููู
ุงุช ุญูู ู
ูุถูุน ุชุฑูุฏ ูููู ู
ู ุฎูุงู ุงูุชุณูุณู ุงููุฑู
ู ููู
ูููุงุช ุจุญูุซ ูููู ูุฌู
ูุน ุงูุฃุฒุฑุงุฑ ุงูู
ูุฌูุฏุฉ ูู ูุฐุง ุงูุฌุฒุก ู
ู ุงูุชุทุจูู ููุณ ุงูู
ุธูุฑ:
public class ThemeInfo { public string ButtonClass { get; set; } }
ูู
ูู ุฃู ูููุฑ ุงูู
ููู ุงูุฃุตูู ููู
ุฉ ู
ุชุชุงููุฉ ุจุงุณุชุฎุฏุงู
ู
ููู
CascadingValue
. ููู ู
ููู
CascadingValue
ุดุฌุฑุฉ ูุฑุนูุฉ ู
ู ุงูุชุณูุณู ุงููุฑู
ู ููู
ูููุงุช ููุนููู ููู
ุฉ ูุงุญุฏุฉ ุณุชููู ู
ุชุงุญุฉ ูุฌู
ูุน ุงูู
ูููุงุช ุฏุงุฎู ูุฐู ุงูุดุฌุฑุฉ ุงููุฑุนูุฉ. ุนูู ุณุจูู ุงูู
ุซุงู ุ ูู
ูููุง ุชุญุฏูุฏ ู
ุนููู
ุงุช ุงูู
ูุถูุน ูู
ุนูู
ุฉ ู
ุชุชุงููุฉ ูุฌู
ูุน ุงูู
ูููุงุช ุงูุชู ูุชููู ู
ููุง ูุต ุงูุชุฎุทูุท:
@inherits BlazorLayoutComponent <div class="sidebar"> <NavMenu /> </div> <div class="main"> <div class="top-row px-4"> <a href="http://blazor.net" target="_blank" class="ml-md-auto">About</a> </div> <CascadingValue Value="@theme"> <div class="content px-4"> @Body </div> </CascadingValue> </div> @functions { ThemeInfo theme = new ThemeInfo { ButtonClass = "btn-success" }; }
ูุงุณุชุฎุฏุงู
ุงูููู
ุงูู
ุชุชุงููุฉ ุ ูู
ูู ููู
ูููุงุช ุชุนุฑูู ู
ุนูู
ุงุช ุงูู
ุชุชุงููุฉ ุจุงุณุชุฎุฏุงู
ุงูุณู
ุฉ [CascadingParameter]. ุชุฑุชุจุท ุงูููู
ุงูู
ุชุชุงููุฉ ุจู
ุนูู
ุงุช ุงูู
ุชุชุงููุฉ ุญุณุจ ุงูููุน. ูู ุงูู
ุซุงู ุงูุชุงูู ุ ุชู
ุชุนุฏูู ู
ููู ุงูุนุฏุงุฏ ููููู ูู ู
ุนูู
ุฉ ู
ุชุชุงููุฉ ุชุฑุชุจุท ุจุงูููู
ุฉ ุงูู
ุชุชุงููุฉ ูู ThemeInfo ุ ูุงูุชู ูุชู
ุงุณุชุฎุฏุงู
ูุง ุจุนุฏ ุฐูู ูุชุนููู ูุฆุฉ ุงูุฒุฑ.
@page "/counter" <h1>Counter</h1> <p>Current count: @currentCount</p> <button class="btn @ThemeInfo.ButtonClass" onclick="@IncrementCount">Click me</button> @functions { int currentCount = 0; [CascadingParameter] protected ThemeInfo ThemeInfo { get; set; } void IncrementCount() { currentCount++; } }
ุนูุฏู
ุง ูุทูู ุงูุชุทุจูู ุ ูุฑู ุฃูู ูุชู
ุชุทุจูู ูู
ุท ุฌุฏูุฏ:

ุชุณู
ุญ ุงูุฎูุงุฑุงุช ุงูู
ุชุชุงููุฉ ุฃูุถูุง ููู
ูููุงุช ุจุงูุชูุงุนู ูู ูุฑู
ูุฉ ุงูู
ูููุงุช. ุนูู ุณุจูู ุงูู
ุซุงู ุ ุงูุชุฑุถ ุฃู ูุฏูู ู
ููู TabSet ูุญุชูู ุนูู ุงูุนุฏูุฏ ู
ู ู
ูููุงุช Tab:
<TabSet> <Tab Title="First tab"> <h4>First tab</h4> This is the first tab. </Tab> @if (showSecondTab) { <Tab Title="Second"> <h4>Second tab</h4> You can toggle me. </Tab> } <Tab Title="Third"> <h4>Third tab</h4> <label> <input type="checkbox" bind=@showSecondTab /> Toggle second tab </label> </Tab> </TabSet>
ูู ูุฐุง ุงูู
ุซุงู ุ ูุง ูุชู
ุชู
ุฑูุฑ ู
ูููุงุช Tab ุงููุฑุนูุฉ ุจุดูู ุตุฑูุญ ูู
ุนูู
ุงุช ุฅูู TabSet. ุจุฏูุงู ู
ู ุฐูู ุ ููู ุจุจุณุงุทุฉ ุฌุฒุก ู
ู ู
ุญุชูู ุชุงุจุน TabSet. ูููู ูุง ุชุฒุงู TabSet ุจุญุงุฌุฉ ุฅูู ู
ุนุฑูุฉ ูู ุนูุงู
ุฉ ุชุจููุจ ุญุชู ุชุชู
ูู ู
ู ุนุฑุถ ุงูุฑุคูุณ ูุนูุงู
ุฉ ุงูุชุจููุจ ุงููุดุทุฉ. ูุชู
ููู ูุฐุง ุงูุชูุณูู ุฏูู ุงูุญุงุฌุฉ ุฅูู ุฃู ุงุชุตุงู ู
ุณุชุฎุฏู
ู
ุญุฏุฏ ุ ูู
ูู ุฃู ูู
ุซู ู
ููู TabSet ููุณู ูููู
ุฉ ู
ุชุชุงููุฉ ุ ูุงูุชู ูู
ูู ุฃู ุชุชุทุงุจู ุจุนุฏ ุฐูู ู
ุน ู
ูููุงุช ู
ููู Tab:
ูู TabSet.cshtml:
<!-- Display the tab headers --> <CascadingValue Value=this> <ul class="nav nav-tabs"> @ChildContent </ul> </CascadingValue>
ูุณู
ุญ ูุฐุง ูู
ูููุงุช Tab ุงูุฃุตููุฉ ุจุงูุชูุงุท TabSet ุงูู
ุญุชููุฉ ูู
ุนูู
ุฉ ู
ุชุชุงููุฉ ุ ุจุญูุซ ูู
ูููุง ุฅุถุงูุฉ ููุณูุง ุฅูู TabSet ูุชูุณูู ุฃู Tab ูุดุท:
ูู Tab.cshtml:
[CascadingParameter] TabSet ContainerTabSet { get; set; }
ุชุญูู ู
ู ูู
ูุฐุฌ TabSet ุงููุงู
ู
ููุง .
ุชุญุณููุงุช ุงูุชุตุญูุญ
ูู Blazor 0.5.0 ุ ุฃุถููุง ุฏุนู
ูุง
ูุชุตุญูุญ ุฃุฎุทุงุก ุชุทุจููุงุช ุนู
ูู Blazor ูู ุงูู
ุณุชุนุฑุถ . ุนูู ุงูุฑุบู
ู
ู ุฃู ูุฐู ุงูุชุฌุฑุจุฉ ุฃุธูุฑุช ุฃู ุชุตุญูุญ ุฃุฎุทุงุก ุชุทุจููุงุช .NET ูู ุงูู
ุณุชุนุฑุถ ุฃู
ุฑ ู
ู
ูู ุ ููุฏ ูุงูุช ุชุฌุฑุจุฉ ุฎุทูุฑุฉ ุฅูู ุญุฏ ู
ุง. ูู
ููู ุงูุขู ุชุซุจูุช ููุงุท ุงูุชููู ูุฅุฒุงูุชูุง ุจุดูู ุฃูุซุฑ ู
ูุซูููุฉ ุ ูู
ุง ุชู
ุชุญุณูู ู
ูุซูููุฉ ุงูุชุตุญูุญ ุฎุทูุฉ ุจุฎุทูุฉ.
