angular - 使用 ng-content 将一个组件导入到另一个组件中

标签 angular

这是我的页面,我在其中调用两个组件面板和联合按钮:

<panel src="a" 
    data1="b" 
    data2="Student Id:"
    data3="Class:"
    data4="Roll No : " data5="Batch : ">
    <joint-button btnname="Edit" icon="glyphicon glyphicon-pencil" color="btn btn-primary"></joint-button>
    <joint-button btnname="Delete" icon="glyphicon glyphicon-trash" color="btn btn-danger"></joint-button>
</panel>

这是我使用过的 panel.html

<div class="col-md-3">
   <div class="custom5">
       <ng-content></ng-content>
    </div>
    <div class="custom6">
        <ng-content></ng-content>
     </div>
 </div>

这里的问题是两个关节按钮都显示在第一个 <ng-content></ng-content>

所以我的问题是::

  • 首先我们可以使用 <ng-content></ng-content>不止一次。如果是的话为什么不起作用。

  • 如果我们不能使用<ng-content></ng-content>不止一次那么将两个组件定位在两个不同位置的解决方案是什么。

最佳答案

ng-content 可以采用属性 select,它是要包含\select 的元素的 css 选择器。

所以这应该可行(我没有尝试过)

 <div class="custom5">
       <ng-content select="joint-button'[btnname=Edit]'"></ng-content>
    </div>
    <div class="custom6">
        <ng-content select="joint-button'[btnname=Delete]'"></ng-content>
     </div>

最近在 AngularConnect 中对此进行了演示,请观看此视频 https://www.youtube.com/watch?v=4YmnbGoh49U

关于angular - 使用 ng-content 将一个组件导入到另一个组件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33384899/

相关文章:

angular - 发生错误 : @Output not initialized

使用@ViewChildren 的 Angular 5 访问 div 列表

Angular 8,从另一个组件调用函数时遇到问题

angular - 如何将 paypal 与 angular 2+ 集成?

javascript - 通过共享服务在两个组件之间进行 Angular 2/4 通信

javascript - 当我使用 Angular cli 生成文件夹时,更改 sourceRoot 始终会生成应用程序子文件夹

Angular2,如何清除路由器导航上的 URL 查询参数

html - 图像方向 CSS 属性在 Angular 应用程序中不支持

javascript - Angular 7 嵌套使用父值作为子值的索引

javascript - HTML 模式与禁止名称