我喜欢使用嵌套在一个dothtml中的两个点:中继器示例:
<dot:Repeater DataSource="{value: Projects}">
<div class="project">
<dot:LinkButton Click="{command: _root.RedirectToTasks(Id)}">{{value: Title}}</dot:LinkButton>
<dot:Repeater DataSource="{value: _parent.Tasks}" WrapperTagName="table">
<ItemTemplate>
<tr>
<td>{{value: Title}}</td>
<td>{{value: Completed ? ("Finished: " + CompletionDate) : "Not yet"}}</td>
<td>
<dot:LinkButton Text="Done"
Click="{command: CompleteTask()}"
Visible="{value: !Completed}" />
</td>
</tr>
</ItemTemplate>
</dot:Repeater>
</div>
</dot:Repeater>我尝试了_parent的不同选项。在任务部分,但我不能让它工作。在其他框架中,可以将主中继器示例别名为:'DataSource="{value: Projects}“as project‘,然后在嵌套的中继器中使用'DataSource="{value: project.Tasks}"’。有人知道如何执行此操作吗?
发布于 2017-07-18 15:37:59
在内部Repeater中,您可以只使用{value: Tasks},也可以使用{value: _this.Tasks}。
代码中还有第二个警告:如果没有tbody元素,则RenderWrapperTag="table"不是一个好主意。一些浏览器会尝试添加缺少的tbody,并可能破坏DOM结构并导致Repeater停止工作。
通常,您希望将Repeater放在<table>元素中并使用RenderWrapperTag="tbody"
<table>
<dot:Repeater DataSource="{value: Tasks}" WrapperTagName="tbody">
<ItemTemplate>
<tr>
<td>{{value: Title}}</td>
<td>{{value: Completed ? ("Finished: " + CompletionDate) : "Not yet"}}</td>
<td>
<dot:LinkButton Text="Done"
Click="{command: CompleteTask()}"
Visible="{value: !Completed}" />
</td>
</tr>
</ItemTemplate>
</dot:Repeater>
</table>https://stackoverflow.com/questions/45138604
复制相似问题