如何在CSS或组件更改很少的情况下为不同的客户端维护相同的代码?

时间:2019-01-08 07:47:13

标签: java angular optimization

我为2个或更多客户端使用相同的Angular 6代码,但是在移动构建时,我必须手动为特定客户端注释一些内容。例如,假设我有客户端X和Y,对于客户端X我具有不同的Style.Scss,而对于客户端Y则具有不同的样式。我们使用tortoiseSVN维护代码,在构建代码时如何确保文件更改自动发生? 前端是Angular 6,后端是Java。

2 个答案:

答案 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。