Vytvoření aplikace Blazor seznamu úkolů

V tomto kurzu si ukážeme, jak sestavit a upravit Blazor aplikaci. Získáte informace o těchto tématech:

  • Vytvoření projektu aplikace seznamu Blazor úkolů
  • Úprava Razor komponent
  • Použití zpracování událostí a datových vazeb v komponentách
  • Použití směrování v Blazor aplikaci

Na konci tohoto kurzu budete mít funkční aplikaci seznamu úkolů.

Požadavky

.NET 6.0 SDK

Vytvoření Blazor aplikace

V příkazovém Blazor prostředí vytvořte novou aplikaci s názvem TodoList :

dotnet new blazorserver -o TodoList
dotnet new blazorwasm -o TodoList

Předchozí příkaz vytvoří složku s názvem s TodoList -o|--output možností pro umístění aplikace. Složka TodoList je kořenová složka projektu. Pomocí následujícího příkazu TodoList změňte adresáře na složku :

cd TodoList

Vytvoření aplikace seznamu Blazor úkolů

  1. Pomocí následujícího Todo Razor příkazu přidejte do aplikace novou komponentu:

    dotnet new razorcomponent -n Todo -o Pages
    

    Možnost -n|--name v předchozím příkazu určuje název nové Razor součásti. Nová komponenta se vytvoří ve složce projektu s Pages možností -o|--output .

    Důležité

    Razor Názvy souborů součástí vyžadují první písmeno s velkým písmenem. Otevřete složku Pages a ověřte, že Todo název souboru komponenty začíná velkým písmenem T . Název souboru by měl být Todo.razor .

  2. Otevřete komponentu v libovolném editoru souborů a na začátek souboru přidejte direktivu s Todo @page Razor relativní adresou URL /todo .

    Pages/Todo.razor:

    @page "/todo"
    
    <PageTitle>Todo</PageTitle>
    
    <h1>Todo</h1>
    
    @code {
    
    }
    

    Uložte soubor Pages/Todo.razor.

  3. Přidejte Todo komponentu na navigační panel.

    Komponenta NavMenu se používá v rozložení aplikace. Rozložení jsou komponenty, které vám umožňují vyhnout se duplikování obsahu v aplikaci. Komponenta poskytuje v uživatelském rozhraní aplikace podnět, když aplikace načte adresu NavLink URL komponenty.

    V obsahu navigačního prvku ( <nav class="flex-column"> ) NavMenu komponenty přidejte následující prvek pro <div> Todo komponentu.

    V Shared/NavMenu.razor:

    <div class="nav-item px-3">
        <NavLink class="nav-link" href="todo">
            <span class="oi oi-list-rich" aria-hidden="true"></span> Todo
        </NavLink>
    </div>
    

    Uložte soubor Shared/NavMenu.razor.

  4. Sestavte a spusťte aplikaci spuštěním dotnet watch run příkazu v příkazovém prostředí ze složky TodoList . Po spuštění aplikace navštivte novou stránku Todo výběrem odkazu v navigačním panelu aplikace, který načte Todo stránku na /todo adrese .

    Nechte aplikaci spuštěnou v příkazovém prostředí. Při každém uložení souboru se aplikace automaticky znovu vytvoří a stránka v prohlížeči se automaticky znovu načte.

  5. Do kořenového adresáře projektu (složky) přidejte soubor, který bude obsahovat třídu představující položku TodoItem.cs TodoList seznamu todo. Pro třídu použijte následující kód jazyka TodoItem C#.

    TodoItem.cs:

    public class TodoItem
    {
        public string? Title { get; set; }
        public bool IsDone { get; set; }
    }
    

    Poznámka

    Pokud používáte Visual Studio k vytvoření souboru a TodoItem.cs TodoItem třídy, použijte některý z následujících přístupů:

    • Odeberte obor názvů, Visual Studio generuje pro třídu.
    • Použijte tlačítko Kopírovat v předchozím bloku kódu a nahraďte celý obsah souboru, který Visual Studio generuje.
  6. Vraťte se Todo do komponenty a proveďte následující úlohy:

    • Přidejte pole pro položky seznamu todo v @code bloku. Komponenta Todo používá toto pole k zachování stavu seznamu úkolů.
    • Přidejte neuspořádaný kód seznamu a smyčku, která foreach vykreslí každou položku seznamu jako položku seznamu ( <li> ).

    Pages/Todo.razor:

    @page "/todo"
    
    <PageTitle>Todo</PageTitle>
    
    <h1>Todo</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>@todo.Title</li>
        }
    </ul>
    
    @code {
        private List<TodoItem> todos = new();
    }
    
  7. Aplikace vyžaduje prvky uživatelského rozhraní pro přidání položek seznamu úkolů. Přidejte textové zadání ( <input> ) a tlačítko ( ) pod <button> neuspořádaný seznam ( <ul>...</ul> ):

    @page "/todo"
    
    <PageTitle>Todo</PageTitle>
    
    <h1>Todo</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>@todo.Title</li>
        }
    </ul>
    
    <input placeholder="Something todo" />
    <button>Add todo</button>
    
    @code {
        private List<TodoItem> todos = new();
    }
    
  8. Uložte soubor a TodoItem.cs aktualizovaný Pages/Todo.razor soubor. V příkazovém prostředí se aplikace při uložení souborů automaticky znovu vytvoří. Prohlížeč stránku znovu načte.

  9. Když je tlačítko vybrané, nic se nestane, protože obslužná rutina Add todo události není připojená k tlačítku.

  10. Přidejte AddTodo metodu do Todo komponenty a zaregistrujte metodu pro tlačítko pomocí @onclick atributu . Při výběru tlačítka se volá metoda AddTodo jazyka C#:

    <input placeholder="Something todo" />
    <button @onclick="AddTodo">Add todo</button>
    
    @code {
        private List<TodoItem> todos = new();
    
        private void AddTodo()
        {
            // Todo: Add the todo
        }
    }
    
  11. Pokud chcete získat název nové položky seznamu, přidejte do horní části bloku pole newTodo @code s řetězcem:

    private string? newTodo;
    

    Upravte element text <input> tak, aby se newTodo váže na @bind atribut :

    <input placeholder="Something todo" @bind="newTodo" />
    
  12. Aktualizujte AddTodo metodu a přidejte do seznamu s TodoItem určeným názvem . Vymažte hodnotu textového vstupu nastavením na newTodo prázdný řetězec:

    @page "/todo"
    
    <PageTitle>Todo</PageTitle>
    
    <h1>Todo</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>@todo.Title</li>
        }
    </ul>
    
    <input placeholder="Something todo" @bind="newTodo" />
    <button @onclick="AddTodo">Add todo</button>
    
    @code {
        private List<TodoItem> todos = new();
        private string? newTodo;
    
        private void AddTodo()
        {
            if (!string.IsNullOrWhiteSpace(newTodo))
            {
                todos.Add(new TodoItem { Title = newTodo });
                newTodo = string.Empty;
            }
        }
    }
    
  13. Uložte soubor Pages/Todo.razor. Aplikace se automaticky znovu vytvoří v příkazovém prostředí a stránka se znovu načte v prohlížeči.

  14. Text nadpisu pro každou položku seznamu může být upravitelný a zaškrtávací políčko může uživateli pomoct sledovat dokončené položky. Přidejte zaškrtávací políčko pro každou položku seznamu todo a vytvořte vazbu její hodnoty na IsDone vlastnost . Změna @todo.Title elementu <input> vázaného na todo.Title pomocí @bind :

    <ul>
        @foreach (var todo in todos)
        {
            <li>
                <input type="checkbox" @bind="todo.IsDone" />
                <input @bind="todo.Title" />
            </li>
        }
    </ul>
    
  15. Aktualizujte hlavičku tak, aby se zobrazí počet položek seznamu, <h1> které nejsou dokončené ( IsDone je false ).

    <h1>Todo (@todos.Count(todo => !todo.IsDone))</h1>
    
  16. Dokončená Todo komponenta ( Pages/Todo.razor ):

    @page "/todo"
    
    <PageTitle>Todo</PageTitle>
    
    <h1>Todo (@todos.Count(todo => !todo.IsDone))</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>
                <input type="checkbox" @bind="todo.IsDone" />
                <input @bind="todo.Title" />
            </li>
        }
    </ul>
    
    <input placeholder="Something todo" @bind="newTodo" />
    <button @onclick="AddTodo">Add todo</button>
    
    @code {
        private List<TodoItem> todos = new();
        private string? newTodo;
    
        private void AddTodo()
        {
            if (!string.IsNullOrWhiteSpace(newTodo))
            {
                todos.Add(new TodoItem { Title = newTodo });
                newTodo = string.Empty;
            }
        }
    }
    
  17. Uložte soubor Pages/Todo.razor. Aplikace se automaticky znovu vytvoří v příkazovém prostředí a stránka se znovu načte v prohlížeči.

  18. Přidání položek, úpravy položek a označení položek seznamu todo provedených k otestování komponenty.

  19. Po dokončení vypněte aplikaci v příkazovém prostředí. Mnoho příkazových prostředí přijímá stisknutím klávesy Ctrl + c příkaz k zastavení aplikace.

Další kroky

V tomto kurzu jste se naučili:

  • Vytvoření projektu aplikace seznamu Blazor úkolů
  • Úprava Razor komponent
  • Použití zpracování událostí a datových vazeb v komponentách
  • Použití směrování v Blazor aplikaci

Seznamte se s nástroji pro Blazor ASP.NET Core:

V tomto kurzu si ukážeme, jak sestavit a upravit Blazor aplikaci. Získáte informace o těchto tématech:

  • Vytvoření projektu aplikace seznamu Blazor úkolů
  • Úprava Razor komponent
  • Použití zpracování událostí a datových vazeb v komponentách
  • Použití směrování v Blazor aplikaci

Na konci tohoto kurzu budete mít funkční aplikaci seznamu úkolů.

Požadavky

.NET 5.0 SDK

Vytvoření Blazor aplikace

V příkazovém Blazor prostředí vytvořte novou aplikaci s názvem TodoList :

dotnet new blazorserver -o TodoList
dotnet new blazorwasm -o TodoList

Předchozí příkaz vytvoří složku s názvem s TodoList -o|--output možností pro umístění aplikace. Složka TodoList je kořenová složka projektu. Pomocí následujícího příkazu TodoList změňte adresáře na složku :

cd TodoList

Vytvoření aplikace seznamu Blazor úkolů

  1. Pomocí následujícího Todo Razor příkazu přidejte do aplikace novou komponentu:

    dotnet new razorcomponent -n Todo -o Pages
    

    Možnost -n|--name v předchozím příkazu určuje název nové Razor součásti. Nová komponenta se vytvoří ve složce projektu s Pages možností -o|--output .

    Důležité

    Razor Názvy souborů součástí vyžadují první písmeno s velkým písmenem. Otevřete složku Pages a ověřte, že Todo název souboru komponenty začíná velkým písmenem T . Název souboru by měl být Todo.razor .

  2. Otevřete komponentu v libovolném editoru souborů a na začátek souboru přidejte direktivu s Todo @page Razor relativní adresou URL /todo .

    Pages/Todo.razor:

    @page "/todo"
    
    <h1>Todo</h1>
    
    @code {
    
    }
    

    Uložte soubor Pages/Todo.razor.

  3. Přidejte Todo komponentu na navigační panel.

    Komponenta NavMenu se používá v rozložení aplikace. Rozložení jsou komponenty, které umožňují vyhnout se duplikaci obsahu v aplikaci. NavLinkKomponenta poskytuje upozornění v uživatelském rozhraní aplikace, když je načtena adresa URL součásti aplikace.

    V neuspořádaném seznamu ( <ul>...</ul> ) NavMenu komponenty přidejte následující položku seznamu ( <li>...</li> ) a NavLink komponentu pro Todo komponentu.

    V Shared/NavMenu.razor:

    <ul class="nav flex-column">
    
        ...
    
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="todo">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Todo
            </NavLink>
        </li>
    </ul>
    

    Uložte soubor Shared/NavMenu.razor.

  4. Sestavte a spusťte aplikaci spuštěním dotnet watch run příkazu v příkazovém prostředí ze TodoList složky. Po spuštění aplikace přejděte na novou stránku TODO tak, že vyberete Todo odkaz na navigačním panelu aplikace, který načte stránku na /todo .

    Ponechte aplikaci spuštěnou s příkazovým prostředím. Pokaždé, když se soubor uloží, aplikace se automaticky znovu sestaví a stránka v prohlížeči se automaticky znovu načte.

  5. Přidejte TodoItem.cs soubor do kořenového adresáře projektu ( TodoList složky), chcete-li uchovat třídu, která představuje položku todo. Pro třídu použijte následující kód jazyka C# TodoItem .

    TodoItem.cs:

    public class TodoItem
    {
        public string Title { get; set; }
        public bool IsDone { get; set; }
    }
    

    Poznámka

    pokud chcete vytvořit TodoItem.cs soubor a třídu pomocí Visual Studio TodoItem , použijte některý z následujících přístupů:

    • odeberte obor názvů, který Visual Studio generuje pro třídu.
    • použijte tlačítko kopírovat v předchozím bloku kódu a nahraďte celý obsah souboru, který Visual Studio generuje.
  6. Vraťte se do Todo komponenty a proveďte následující úlohy:

    • Přidejte pole pro položky ToDo v @code bloku. TodoKomponenta používá toto pole k údržbě stavu seznamu úkolů.
    • Přidejte neuspořádaný seznam značek a foreach smyčku pro vykreslení každé položky ToDo jako položky seznamu ( <li> ).

    Pages/Todo.razor:

    @page "/todo"
    
    <h1>Todo</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>@todo.Title</li>
        }
    </ul>
    
    @code {
        private List<TodoItem> todos = new();
    }
    
  7. Aplikace vyžaduje prvky uživatelského rozhraní pro přidání položek TODO do seznamu. Přidejte textové zadání ( <input> ) a tlačítko ( <button> ) pod Neseřazený seznam ( <ul>...</ul> ):

    @page "/todo"
    
    <h1>Todo</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>@todo.Title</li>
        }
    </ul>
    
    <input placeholder="Something todo" />
    <button>Add todo</button>
    
    @code {
        private List<TodoItem> todos = new();
    }
    
  8. Uložte TodoItem.cs soubor a aktualizovaný Pages/Todo.razor soubor. V příkazovém prostředí se aplikace automaticky znovu sestaví při uložení souborů. Prohlížeč stránku znovu načte.

  9. Když Add todo je vybráno tlačítko, nic se nestane, protože obslužná rutina události není připojená k tlačítku.

  10. Přidejte AddTodo do Todo komponenty metodu a zaregistrujte metodu pro tlačítko pomocí @onclick atributu. AddTodoMetoda jazyka C# je volána, když je vybráno tlačítko:

    <input placeholder="Something todo" />
    <button @onclick="AddTodo">Add todo</button>
    
    @code {
        private List<TodoItem> todos = new();
    
        private void AddTodo()
        {
            // Todo: Add the todo
        }
    }
    
  11. Chcete-li získat název nové položky ToDo, přidejte do newTodo horní části bloku pole řetězce @code :

    private string newTodo;
    

    Upravte element text <input> pro svázání newTodo s @bind atributem:

    <input placeholder="Something todo" @bind="newTodo" />
    
  12. Aktualizujte AddTodo metodu tak, aby se do TodoItem seznamu přidal název se zadaným názvem. Vymažte hodnotu textového zadání nastavením newTodo na prázdný řetězec:

    @page "/todo"
    
    <h1>Todo</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>@todo.Title</li>
        }
    </ul>
    
    <input placeholder="Something todo" @bind="newTodo" />
    <button @onclick="AddTodo">Add todo</button>
    
    @code {
        private List<TodoItem> todos = new();
        private string newTodo;
    
        private void AddTodo()
        {
            if (!string.IsNullOrWhiteSpace(newTodo))
            {
                todos.Add(new TodoItem { Title = newTodo });
                newTodo = string.Empty;
            }
        }
    }
    
  13. Uložte soubor Pages/Todo.razor. Aplikace se automaticky znovu sestaví v příkazovém prostředí a stránka se znovu načte v prohlížeči.

  14. Text nadpisu pro každou položku TODO lze upravovat a zaškrtávací políčko může uživatelům pomáhat sledovat dokončené položky. Přidejte vstup zaškrtávacího políčka pro každou položku TODO a navažte její hodnotu na IsDone vlastnost. Změnit @todo.Title na <input> element s vazbou todo.Title na @bind :

    <ul>
        @foreach (var todo in todos)
        {
            <li>
                <input type="checkbox" @bind="todo.IsDone" />
                <input @bind="todo.Title" />
            </li>
        }
    </ul>
    
  15. Aktualizujte <h1> hlavičku tak, aby zobrazovala počet nedokončených položek TODO ( IsDone je false ).

    <h1>Todo (@todos.Count(todo => !todo.IsDone))</h1>
    
  16. Dokončená Todo součást ( Pages/Todo.razor ):

    @page "/todo"
    
    <h1>Todo (@todos.Count(todo => !todo.IsDone))</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>
                <input type="checkbox" @bind="todo.IsDone" />
                <input @bind="todo.Title" />
            </li>
        }
    </ul>
    
    <input placeholder="Something todo" @bind="newTodo" />
    <button @onclick="AddTodo">Add todo</button>
    
    @code {
        private List<TodoItem> todos = new();
        private string newTodo;
    
        private void AddTodo()
        {
            if (!string.IsNullOrWhiteSpace(newTodo))
            {
                todos.Add(new TodoItem { Title = newTodo });
                newTodo = string.Empty;
            }
        }
    }
    
  17. Uložte soubor Pages/Todo.razor. Aplikace se automaticky znovu sestaví v příkazovém prostředí a stránka se znovu načte v prohlížeči.

  18. Umožňuje přidat položky, upravit položky a označit položky ToDo dokončené a otestovat komponentu.

  19. Po dokončení ukončete aplikaci v příkazovém prostředí. Mnohé příkazové prostředí přijímají klávesovou zkratku CTRL + c , aby se zastavila aplikace.

Další kroky

V tomto kurzu jste se naučili:

  • Vytvoření Blazor projektu aplikace seznamu úkolů
  • Upravit Razor součásti
  • Použití zpracování událostí a datové vazby v součástech
  • Použití směrování v Blazor aplikaci

Další informace o nástrojích pro ASP.NET Core Blazor :

V tomto kurzu se dozvíte, jak vytvořit a upravit Blazor aplikaci. Získáte informace o těchto tématech:

  • Vytvoření Blazor projektu aplikace seznamu úkolů
  • Upravit Razor součásti
  • Použití zpracování událostí a datové vazby v součástech
  • Použití směrování v Blazor aplikaci

Na konci tohoto kurzu budete mít funkční aplikaci seznamu úkolů.

Požadavky

.NET Core 3.1 SDK

Vytvoření Blazor aplikace

Vytvořte novou Blazor aplikaci s názvem TodoList v příkazovém prostředí:

dotnet new blazorserver -o TodoList
dotnet new blazorwasm -o TodoList

Předchozí příkaz vytvoří složku s názvem TodoList s -o|--output možností pro uchování aplikace. TodoListSložka je Kořenová složka projektu. Přejděte do složky adresáře TodoList pomocí následujícího příkazu:

cd TodoList

Sestavení aplikace seznamu úkolů Blazor

  1. Přidejte Todo Razor do aplikace novou komponentu pomocí následujícího příkazu:

    dotnet new razorcomponent -n Todo -o Pages
    

    -n|--nameMožnost v předchozím příkazu Určuje název nové Razor součásti. Nová součást je vytvořena ve Pages složce projektu s -o|--output možností.

    Důležité

    Razor název souboru komponenty vyžaduje velké písmeno prvního písmene. Otevřete Pages složku a potvrďte, že Todo název souboru komponenty začíná velkým písmenem T . Název souboru by měl být Todo.razor .

  2. Otevřete Todo komponentu v libovolném editoru souborů a přidejte @page Razor do horní části souboru direktivu s relativní adresou URL /todo .

    Pages/Todo.razor:

    @page "/todo"
    
    <h1>Todo</h1>
    
    @code {
    
    }
    

    Uložte soubor Pages/Todo.razor.

  3. Přidejte Todo komponentu do navigačního panelu.

    NavMenuKomponenta se používá v rozložení aplikace. Rozložení jsou komponenty, které umožňují vyhnout se duplikaci obsahu v aplikaci. NavLinkKomponenta poskytuje upozornění v uživatelském rozhraní aplikace, když je načtena adresa URL součásti aplikace.

    V neuspořádaném seznamu ( <ul>...</ul> ) NavMenu komponenty přidejte následující položku seznamu ( <li>...</li> ) a NavLink komponentu pro Todo komponentu.

    V Shared/NavMenu.razor:

    <ul class="nav flex-column">
    
        ...
    
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="todo">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Todo
            </NavLink>
        </li>
    </ul>
    

    Uložte soubor Shared/NavMenu.razor.

  4. Sestavte a spusťte aplikaci spuštěním dotnet watch run příkazu v příkazovém prostředí ze TodoList složky. Po spuštění aplikace přejděte na novou stránku TODO tak, že vyberete Todo odkaz na navigačním panelu aplikace, který načte stránku na /todo .

    Ponechte aplikaci spuštěnou s příkazovým prostředím. Pokaždé, když se soubor uloží, aplikace se automaticky znovu sestaví a stránka v prohlížeči se automaticky znovu načte.

  5. Přidejte TodoItem.cs soubor do kořenového adresáře projektu ( TodoList složky), chcete-li uchovat třídu, která představuje položku todo. Pro třídu použijte následující kód jazyka C# TodoItem .

    TodoItem.cs:

    public class TodoItem
    {
        public string Title { get; set; }
        public bool IsDone { get; set; }
    }
    

    Poznámka

    pokud chcete vytvořit TodoItem.cs soubor a třídu pomocí Visual Studio TodoItem , použijte některý z následujících přístupů:

    • odeberte obor názvů, který Visual Studio generuje pro třídu.
    • použijte tlačítko kopírovat v předchozím bloku kódu a nahraďte celý obsah souboru, který Visual Studio generuje.
  6. Vraťte se do Todo komponenty a proveďte následující úlohy:

    • Přidejte pole pro položky ToDo v @code bloku. TodoKomponenta používá toto pole k údržbě stavu seznamu úkolů.
    • Přidejte neuspořádaný seznam značek a foreach smyčku pro vykreslení každé položky ToDo jako položky seznamu ( <li> ).

    Pages/Todo.razor:

    @page "/todo"
    
    <h1>Todo</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>@todo.Title</li>
        }
    </ul>
    
    @code {
        private IList<TodoItem> todos = new List<TodoItem>();
    }
    
  7. Aplikace vyžaduje prvky uživatelského rozhraní pro přidání položek TODO do seznamu. Přidejte textové zadání ( <input> ) a tlačítko ( <button> ) pod Neseřazený seznam ( <ul>...</ul> ):

    @page "/todo"
    
    <h1>Todo</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>@todo.Title</li>
        }
    </ul>
    
    <input placeholder="Something todo" />
    <button>Add todo</button>
    
    @code {
        private IList<TodoItem> todos = new List<TodoItem>();
    }
    
  8. Uložte TodoItem.cs soubor a aktualizovaný Pages/Todo.razor soubor. V příkazovém prostředí se aplikace automaticky znovu sestaví při uložení souborů. Prohlížeč stránku znovu načte.

  9. Když Add todo je vybráno tlačítko, nic se nestane, protože obslužná rutina události není připojená k tlačítku.

  10. Přidejte AddTodo do Todo komponenty metodu a zaregistrujte metodu pro tlačítko pomocí @onclick atributu. AddTodoMetoda jazyka C# je volána, když je vybráno tlačítko:

    <input placeholder="Something todo" />
    <button @onclick="AddTodo">Add todo</button>
    
    @code {
        private IList<TodoItem> todos = new List<TodoItem>();
    
        private void AddTodo()
        {
            // Todo: Add the todo
        }
    }
    
  11. Chcete-li získat název nové položky ToDo, přidejte do newTodo horní části bloku pole řetězce @code :

    private string newTodo;
    

    Upravte element text <input> pro svázání newTodo s @bind atributem:

    <input placeholder="Something todo" @bind="newTodo" />
    
  12. Aktualizujte AddTodo metodu tak, aby se do TodoItem seznamu přidal název se zadaným názvem. Vymažte hodnotu textového zadání nastavením newTodo na prázdný řetězec:

    @page "/todo"
    
    <h1>Todo</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>@todo.Title</li>
        }
    </ul>
    
    <input placeholder="Something todo" @bind="newTodo" />
    <button @onclick="AddTodo">Add todo</button>
    
    @code {
        private IList<TodoItem> todos = new List<TodoItem>();
        private string newTodo;
    
        private void AddTodo()
        {
            if (!string.IsNullOrWhiteSpace(newTodo))
            {
                todos.Add(new TodoItem { Title = newTodo });
                newTodo = string.Empty;
            }
        }
    }
    
  13. Uložte soubor Pages/Todo.razor. Aplikace se automaticky znovu sestaví v příkazovém prostředí a stránka se znovu načte v prohlížeči.

  14. Text nadpisu pro každou položku TODO lze upravovat a zaškrtávací políčko může uživatelům pomáhat sledovat dokončené položky. Přidejte vstup zaškrtávacího políčka pro každou položku TODO a navažte její hodnotu na IsDone vlastnost. Změnit @todo.Title na <input> element s vazbou todo.Title na @bind :

    <ul>
        @foreach (var todo in todos)
        {
            <li>
                <input type="checkbox" @bind="todo.IsDone" />
                <input @bind="todo.Title" />
            </li>
        }
    </ul>
    
  15. Aktualizujte <h1> hlavičku tak, aby zobrazovala počet nedokončených položek TODO ( IsDone je false ).

    <h1>Todo (@todos.Count(todo => !todo.IsDone))</h1>
    
  16. Dokončená Todo součást ( Pages/Todo.razor ):

    @page "/todo"
    
    <h1>Todo (@todos.Count(todo => !todo.IsDone))</h1>
    
    <ul>
        @foreach (var todo in todos)
        {
            <li>
                <input type="checkbox" @bind="todo.IsDone" />
                <input @bind="todo.Title" />
            </li>
        }
    </ul>
    
    <input placeholder="Something todo" @bind="newTodo" />
    <button @onclick="AddTodo">Add todo</button>
    
    @code {
        private IList<TodoItem> todos = new List<TodoItem>();
        private string newTodo;
    
        private void AddTodo()
        {
            if (!string.IsNullOrWhiteSpace(newTodo))
            {
                todos.Add(new TodoItem { Title = newTodo });
                newTodo = string.Empty;
            }
        }
    }
    
  17. Uložte soubor Pages/Todo.razor. Aplikace se automaticky znovu sestaví v příkazovém prostředí a stránka se znovu načte v prohlížeči.

  18. Umožňuje přidat položky, upravit položky a označit položky ToDo dokončené a otestovat komponentu.

  19. Po dokončení ukončete aplikaci v příkazovém prostředí. Mnohé příkazové prostředí přijímají klávesovou zkratku CTRL + c , aby se zastavila aplikace.

Další kroky

V tomto kurzu jste se naučili:

  • Vytvoření Blazor projektu aplikace seznamu úkolů
  • Upravit Razor součásti
  • Použití zpracování událostí a datové vazby v součástech
  • Použití směrování v Blazor aplikaci

Další informace o nástrojích pro ASP.NET Core Blazor :