我正在努力寻找一种方法来做到这一点。在父组件中,模板描述了table
及其thead
元素,但将渲染委托tbody
给了另一个组件,如下所示:
<table>
<thead>
<tr>
<th>Name</th>
<th>Time</th>
</tr>
</thead>
<tbody *ngFor="let entry of getEntries()">
<my-result [entry]="entry"></my-result>
</tbody>
</table>
每个myResult组件都呈现其自己的tr
标签,基本上是这样的:
<tr>
<td>{{ entry.name }}</td>
<td>{{ entry.time }}</td>
</tr>
我之所以没有将其直接放在父组件中(避免需要使用myResult组件)是因为myResult组件实际上比此处显示的要复杂,因此我想将其行为放在单独的组件和文件中。
产生的DOM看起来很糟。我相信这是因为它无效,因为它tbody
只能包含tr
元素(请参阅MDN),但是我生成的(简化的)DOM是:
<table>
<thead>
<tr>
<th>Name</th>
<th>Time</th>
</tr>
</thead>
<tbody>
<my-result>
<tr>
<td>Bob</td>
<td>128</td>
</tr>
</my-result>
</tbody>
<tbody>
<my-result>
<tr>
<td>Lisa</td>
<td>333</td>
</tr>
</my-result>
</tbody>
</table>
有什么方法可以使我们得到相同的结果,但是没有包装<my-result>
标签,并且仍然使用仅由组件负责表行的渲染?
我已经看过了ng- content
,DynamicComponentLoader
的ViewContainerRef
,但他们似乎并不至于我可以看到提供一个解决的办法。
您可以使用属性选择器
@Component({
selector: '[myTd]'
...
})
然后像
<td myTd></td>
我想知道我是否可以使用MathJax渲染LaTeX符号,而不封装LaTeX符号周围的\(......\)。例如,对于\frac{2}{3}而不是\(\frac{2}{3}\),如果是,我如何设置它? 非常感谢!
问题内容: 我的数据库存储产品信息,其中许多信息被组织成列表。我将数据加载到Angular中。 例如, 当我尝试将此数据加载到我的Angular应用程序中时,它会以文本形式呈现(即未解析)。我了解这可能是出于安全原因而发生的,但是有什么解决方法吗? 问题答案: 正如Damax在这里所说的那样:
我试图在呈现组件之前从API加载事件。目前我正在使用我的API服务,我从组件的ngOnInit函数调用该服务。 我的组件: 我的模板 我的API服务 组件在函数中的API调用完成获取数据之前呈现。所以我从来没有看到我的视图模板中的事件ID。所以看起来这是一个ASYNC问题。我期望在设置了属性后,绑定(组件)来完成一些工作。可悲的是,当属性被设置时,它不显示用标记的。 问:我用的方法好吗?如果没有;
我想这样做(显然不工作)< br >我可以将结果存储在一个状态中,并在< code>render()方法中呈现组件,但问题是我进行了许多调用,并将有许多res对象。我最终会有许多状态要维护,所以我想在< code>axios调用后只返回一个组件,而不是每次都改变许多状态。这可能吗?< br >
问题内容: 例如我可以做: React将在哪里渲染: 目前,我遇到了错误: 在使用browserify和babelify进行转译时 问题答案: 从React v16.0版本开始,当您位于组件内部时,您可以呈现一个组件数组,而无需在额外的元素中包装项目: 切记仅设置按键。 更新 现在从16.2版本开始,您可以使用片段 短语法 在,您仍然无法渲染多个项目,因为react需要一个根。因此,您可以在中渲染
ant design +Table组件 + Switch组件组合使用 在 输出的checked都为true了,但是Switch没有选中, 甚至我对table的data数据进行了useMemo了还是不行, ant design +Table组件 + Switch正常的渲染