julazor如何访问重复的页面参数?
我有一个关于复制剃须刀页面的疑问。
我在YouTube上找到了此代码,并尝试了自己。 并很难建立一种访问参数(任务清单)的方法。
todos(测试页)
@page "/Todo"
<div class="row">
<div class="col-6">
<Todo Headername="Daily Task"></Todo>
</div>
<div class="col-6">
<Todo Headername="Monthly Task"></Todo>
</div>
</div>
<div>
<!-- I want to print out both List parameter value on the page!! -->
</div>
@code {
}
todo(组件)
@page "/Tests"
<h3>@Headername</h3>
<!-- Edit form-->
<EditForm Model="task" class="form-inline" OnValidSubmit="AddTask">
<input type="text" class="form-control mx-2" @bind-value="task.TaskName" />
<button class="btn btn-outline-primary mx-2">Add Task</button>
</EditForm>
<div class="progress-bar my-2" role="progressbar" style="width:@(PercentageCompleted)%" aria-valuemax="100" aria-valuemin="0">
@(PercentageCompleted)%
</div>
<ul class="list-group" my-2>
@foreach (var taskitem in taskList)
{
if (taskitem.IsComplete)
{
<!--Task Completed-->
<li class="list-group-item list-group-item-success mx-1" @onclick="(()=>taskitem.IsComplete = task.IsComplete)"> <del>@taskitem.TaskName</del></li>
}
else
{
<!--Task Not Completed-->
<li class="list-group-item list-group-item-secondary mx-1" @onclick="(()=>taskitem.IsComplete = !task.IsComplete)">@taskitem.TaskName</li>
}
}
</ul>
@code {
[Parameter]
public string Headername { get; set; }
protected List<TaskModel> taskList = new List<TaskModel>();
protected TaskModel task = new TaskModel();
protected override void OnInitialized()
{
if (Headername == "")
{
Headername = "Todo";
}
}
public int PercentageCompleted {
get {
return taskList.Count > 0 ? (taskList.Count(x => x.IsComplete) * 100 / taskList.Count) : 0;
}
}
private void AddTask()
{
taskList.Add(task);
task = new TaskModel();
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果没有更充分了解您所做的/试图实现任务的上下文,就很难提出建议?
在“代码”中,您显示了
taskList
是受保护
todo
的属性,因此组件`todos'看不到它。如果您愿意,您可以开始双向绑定 - 这就是Magoo先生的参考文献所示。这种方法适用于简单的示例。
但是,我主张将数据从UI中获取并使用事件。我对这个问题的回答说明了如何做到这一点 - 。。
It's difficult to make suggestions without a fuller understanding of the context of what you are doing/ trying to achieve with Tasks?
In the code you've show
taskList
is aprotected
property ofToDo
, so the component `ToDos' can't see it.You can start plumbing up two way binding if you wish - that's what Mister Magoo's reference demonstrates. This approach works for simple examples.
I however advocate getting the data out of the UI and using events. My answer to this question demonstrates how to do that - How can I trigger/refresh my main .RAZOR page from all of its sub-components within that main .RAZOR page when an API call is complete?.