新问题:
因此,即时通讯正在寻找一种方法来切换名为hotel-in
和hotel-out
的两个CSS类的显示。
这两个类将包含在我的所有22个组件中。
要切换显示,im使用名为inHotel
的变量,该变量包含用户是否在旅馆中的任何位置。
当变量为true时,hotel-in
将可见,而hotel-out
隐藏。
当变量为false时,hotel-out
将为visible
,并且隐藏旅馆。
我怎样才能最好地做到这一点?
我可以在主控制器中执行所有加载所有组件的常规操作吗?
还是我必须在22个以上的控制器中做一些特别的事情?
旧问题:
在我的主要应用程序组件中,我有路由器插座,其中包含以下内容:
<style *ngIf="inHotel">
.hotel-in {
display:block;
}
.hotel-out {
display:none;
}
</style>
<style *ngIf="inHotel == false">
.hotel-in {
display:none;
}
.hotel-out {
display:block;
}
</style>
但是当进行检查时,即使inhotel为假,也确实会创造出这种风格。
这个想法是一个函数将切换这个旅馆。
其他组件中的所有内容都将具有div类
hotel-out
和hotel-in
。并且根据inhotel的class / style可见/不可见。但是由于某种原因,它将无法正常工作。
我需要做什么才能使这项工作?
编辑2:
我可以使用ngclass,并通过每个控制器/路由获取hotelstate。
但是在PHP和angular1中,我可以选择将该样式代码放入主文件(路由器出口所在的位置)中,并且可以按预期工作。
理想的情况是,只有一个地方可以更改
hotel-in
和hotel-out
的显示以切换display none
和display block
。那么在其他路线/视图中具有
hotel-in
和hotel-out
的所有内容都会根据id进行操作。编辑3:
html样式的示例,该示例将处于不同的路径中。
<div class=hotel-in">You are in hotel , more html...</div>
<div class="hotel-out">Something completely diff here </div>
编辑3:
即使当im style
*ngIf
时,它也不会在页面上产生任何带有内容的标签。编辑4:
似乎我什至不能在angular / angular-cli html中发布样式标签。怎么来的?以及如何制作样式标签?
由于某种原因,即使这不会出现在页面上。
<style>
.test {
color:black;
}
</style>
最佳答案
如果使用https://github.com/deanmcpherson/angular-inline-style将样式规则写在html页面本身中,则会看到更改样式规则。
这个想法是每次范围更改时都重新构建样式规则,默认情况下,angular不提供此功能。但是我们可以编写一条指令,该指令链接到样式标签并根据范围重新编译。
关于javascript - 未创建组件的样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46514913/