在 Angular 指令的 HTML 模板的表格单元格中的同一行上显示文本和按钮

Posted

技术标签:

【中文标题】在 Angular 指令的 HTML 模板的表格单元格中的同一行上显示文本和按钮【英文标题】:Display Text and Button on same line in table cell from HTML Template for Angular Directive 【发布时间】:2019-01-06 08:45:04 【问题描述】:

我目前实现了一个 Angular 搜索功能 here,它允许用户搜索课程。

这利用read-more directive 显示描述和关键字的预览,并允许用户切换以查看更多文本。我将see more 超链接转换为一个按钮,无论是按钮还是文本都出现在课程描述/关键字下方,我希望此切换显示在单词旁边而不是单独一行。

<div [innerhtml]="currentText"> </div>
<button (click)="toggleView()" class="btn btn-dark btn-sm"> 
    <i [class.hidden]="hideToggle" [ngClass]="isCollapsed ? 'fa fa-plus': 'fa fa-minus'"> </i></button>

我尝试过wrapping them in divs and using display:inline等解决方案

<div id="block_container">
    <div id="bloc1"> <div [innerHTML]="currentText"> </div> </div>
    <div id="bloc2">
     <button (click)="toggleView()" class="btn btn-dark btn-sm"> 
    <i [class.hidden]="hideToggle" [ngClass]="isCollapsed ? 'fa fa-plus': 'fa fa-minus'"> </i></button> </div>
</div> 

并尝试过display: inline-block 等,但无法弄清楚。

在表格单元格内或 Angular 模板的一部分中是否存在问题?任何指针将不胜感激!谢谢!

【问题讨论】:

对了你为什么用[innerHTML]&lt;div&gt; currentText &lt;/div&gt; 使用display: inline-blockbloc1bloc2 不换行 我刚刚使用了给出的实现,使用字符串插值是否更干净? 或使用display:flexblock_container display:flex 将按钮切换一直发送到单元格的右上角,我希望它显示在 sn-p 预览的末尾旁边。而display: inline-block 似乎没有任何改变? 【参考方案1】:

如果您将inline 用于儿童#bloc1, #bloc2,请不要使用display:flex;#block_container

#bloc1, #bloc2

    display:inline;

见代码:https://stackblitz.com/edit/angular-course-filter-pipe-vpax2x?file=src/app/app.component.css

【讨论】:

告诉我更多帮助! 我意识到我确实需要&lt;div [innerHTML]="currentText"&gt; &lt;/div&gt; 而不是&lt;div&gt;currentText &lt;/div&gt; 才能使高亮管道工作。在这种情况下,我将如何调整解决方案?谢谢!【参考方案2】:

尝试用 1 行元素将它们包装在表格中

<table>
   <tr>
      <td><div1>...</div></td>
      <td><div2>...</div></td>
   </tr>
</table>

【讨论】:

以上是关于在 Angular 指令的 HTML 模板的表格单元格中的同一行上显示文本和按钮的主要内容,如果未能解决你的问题,请参考以下文章

在 Angular 中有没有办法将包含组件指令的 html 注入到父组件的模板中?

webpack html-loaders 小写 angular 2 内置指令

如何在 Angular 2 指令中使用 templateUrl

Angular 2指令语法[重复]

在 Angular 中使用 HTML 标记作为指令

来自组件的Angular 4调用指令方法