是否可以仅在选定组件中更改布局的宽度?我想更改<div class="page home-page">
我的登录组件中的唯一?仅在登录组件中,不在其他组件中。
问问题
4401 次
2 回答
3
指令可以解决您的问题。
src/app/width.directive.ts
import { Directive, ElementRef, Input } from '@angular/core';
@Directive({ selector: '[width]' })
export class widthDirective {
@Input()
set width(width: number) {
this.el.nativeElement.style.width = `${this._width}px`;
}
constructor(el: ElementRef) {}
}
然后在您可以使用的任何组件中:
<div class="page home-page" width [width]="500">
如果你想让你的指令在任何地方都可以访问,你可以按照这个答案。
于 2017-09-29T08:23:16.400 回答
1
Angular 2/4 中的所有样式(除了主要的全局样式表)都是封装的,所以当你包含这样的样式表时:
@Component({
selector: 'component-name',
templateUrl: './component.html',
styleUrls: ['./component.css']
})
所有样式 fromcomponent.css
将仅应用于component.html
(如果您不使用类似/deep/
的东西)。所以随意改变当前布局的宽度,不会影响其他布局!
于 2017-09-29T07:13:45.800 回答