Javascript ng组件无效
我正在学习ng内容。既然我们可以很容易地这样写,为什么还要用它呢 含ng内容 menu.component.htmlJavascript ng组件无效,javascript,angular,Javascript,Angular,我正在学习ng内容。既然我们可以很容易地这样写,为什么还要用它呢 含ng内容 menu.component.html <div> <app-message> <h1>Laptop</h1></app-message> </div> <div> <ng-content></ng-content> <p>something text to be
<div>
<app-message> <h1>Laptop</h1></app-message>
</div>
<div>
<ng-content></ng-content>
<p>something text to be display</p>
<button > Submit</button>
</div>
<div>
<h1>Laptop</h1>
<app-message> </app-message>
</div>
<div>
<p>something text to be display</p>
<button > Submit</button>
</div>
<ng-content></ng-content>
<ng-content></ng-content>
<ng-content [data]='THIS IS THE DATA'></ng-content>
<p>The data we are looking for is {{data}} </p>
笔记本电脑
message.component.html
<div>
<app-message> <h1>Laptop</h1></app-message>
</div>
<div>
<ng-content></ng-content>
<p>something text to be display</p>
<button > Submit</button>
</div>
<div>
<h1>Laptop</h1>
<app-message> </app-message>
</div>
<div>
<p>something text to be display</p>
<button > Submit</button>
</div>
<ng-content></ng-content>
<ng-content></ng-content>
<ng-content [data]='THIS IS THE DATA'></ng-content>
<p>The data we are looking for is {{data}} </p>
要显示的文本
提交
无ng内容
menu.component.html
<div>
<app-message> <h1>Laptop</h1></app-message>
</div>
<div>
<ng-content></ng-content>
<p>something text to be display</p>
<button > Submit</button>
</div>
<div>
<h1>Laptop</h1>
<app-message> </app-message>
</div>
<div>
<p>something text to be display</p>
<button > Submit</button>
</div>
<ng-content></ng-content>
<ng-content></ng-content>
<ng-content [data]='THIS IS THE DATA'></ng-content>
<p>The data we are looking for is {{data}} </p>
笔记本电脑
message.component.html
<div>
<app-message> <h1>Laptop</h1></app-message>
</div>
<div>
<ng-content></ng-content>
<p>something text to be display</p>
<button > Submit</button>
</div>
<div>
<h1>Laptop</h1>
<app-message> </app-message>
</div>
<div>
<p>something text to be display</p>
<button > Submit</button>
</div>
<ng-content></ng-content>
<ng-content></ng-content>
<ng-content [data]='THIS IS THE DATA'></ng-content>
<p>The data we are looking for is {{data}} </p>
要显示的文本
提交
使用
可以创建灵活的可重用组件
例如,自定义应用程序模式组件:
<div class="modal">
<div class="modal-title">
{{title}}
</div>
<div class="modal-body">
<ng-content></ng-content>
</div>
</div>
{{title}}
这是一个非常强大的功能,它只是您使用
软件工程的一个核心原则是代码重用(DRY)。通过这种方式,我们可以将与组件相关的所有逻辑捆绑到一个组件中,并将内容注入其中
这就像是在问问题
为什么不将CSS样式声明为内联而不是CSS类
这是可能的,但无法维持,我们已经超越了这一点
您的示例非常简单,但如果您想根据注入的逻辑更改样式或行为,它仍然很有用。有一些情况是必要的,在简单的情况下可能不会,但当应用程序长大后,您必须在另一个应用程序中插入自定义组件时,这是非常有用的,您可以从自己的示例中看到,如果不使用
ng content
,父组件会突然对子组件的布局承担部分责任。它很快就会变得凌乱,布局越快越复杂。它对于在其他组件中显示组件非常有用,因此组件可以重用。例如,如果要在几页上显示某些文本,则调用该组件时,文本位于要在其上显示文本的其他组件的内部。它还可以用于显示不同的信息,但样式相同。例如
如果您的ng内容已包含该信息,则这是如何使用该信息的示例:
menu.component.html
<div>
<app-message> <h1>Laptop</h1></app-message>
</div>
<div>
<ng-content></ng-content>
<p>something text to be display</p>
<button > Submit</button>
</div>
<div>
<h1>Laptop</h1>
<app-message> </app-message>
</div>
<div>
<p>something text to be display</p>
<button > Submit</button>
</div>
<ng-content></ng-content>
<ng-content></ng-content>
<ng-content [data]='THIS IS THE DATA'></ng-content>
<p>The data we are looking for is {{data}} </p>
然后,我们将看到test.component.html如下所示:
<我们正在寻找的数据是数据如果你想在组件模板中间显示一些内容,那该怎么办?