我们正在使用angular-flex-layout在我们的应用程序中进行大小调整。我们在应用程序的多个位置使用了多个标签。例如,此块用于所有“顶级”div。
<div ...
fxFlex="900px"
fxFlex.lt-md="90%"
... >
我试图弄清楚如何改变它,这样如果我们以后想重构,我们只需要改变一个地方。
我考虑过的选项:
选项 #1 - 不要为此使用 fxFlex
也许这是一个不适用于 fxFlex 的用例。我想我可以这样做:
<div ...
class="mainWidthApp"
... >
然后我可以使用媒体查询编写 CSS 来处理多个页面宽度。呸。真的不想这样做。
选项 #2 - 使用 fxFlex 并创建一个新指令
这允许我们做这样的事情:
<div ...
jakeAppWidth
... >
然后我们可以定义一个指令来做这样的事情:
import { Directive, ElementRef } from '@angular/core';
@Directive({
selector: '[jakeAppWidth]'
})
export class AppWidthDirective {
constructor(element: ElementRef) {
// Not sure how to do this yet, but do something like:
element.addSubDirective( fxFlex="900px" );
element.addSubDirective( fxFlex.lt-md="90%" );
}
}
不确定是否有可能添加指令。还在研究这个。
选项 #3 - 其他...
我认为这一定是一个相当普遍的问题。也许有一个开箱即用的解决方案。
谢谢!