我为2个或更多客户端使用相同的Angular 6代码,但是在移动构建时,我必须手动为特定客户端注释一些内容。例如,假设我有客户端X和Y,对于客户端X我具有不同的Style.Scss,而对于客户端Y则具有不同的样式。我们使用tortoiseSVN维护代码,在构建代码时如何确保文件更改自动发生? 前端是Angular 6,后端是Java。
答案 0 :(得分:1)
您可以基于标志应用CSS类。
let flag = 'x'; // E.x now x client is active.
以html
// For css stuff
<div [ngClass]="x ? 'xClass' ? 'yClass'">
</div>
// For show content
<div *ngIf="flag == 'x'">
// Show data of x user
</div>
<div *ngIf="flag == 'y'">
// Show data of y user
</div>
为此,您还必须通过发送标志来管理后端。
更新
当涉及到整个组件时,建议您使用diffrent auth Guard。对于这种情况,这是最好的事情。
答案 1 :(得分:1)
您应该对body元素的不同客户端使用不同的类,以便可以根据客户端X或客户端Y设置子元素的样式。
例如,在初始化应用程序时,将“ clientx”类添加到主体,然后针对clientx作为父代编写CSS规则。
在为clientX构建应用程序时,将class clientx添加到正文中,并可以设置各个子元素的样式
body.clientx .elementA{
color:red
}
类似地,当您为clientY构建应用程序时,将class clienty添加到body并可以设置各个子元素的样式
body.clienty .elementA{
color:yellow
}
这样,您无需接触角度逻辑,并且CSS本身可以满足您的要求。为了实现更强大的实现,您可以使用scss。