访问SCSS文件Angular 2中的组件变量

Joã*_*tti 5 css sass angular

是否可以在.scss为该组件定义的文件内访问组件变量?
例如:

example.component.ts

@Component({
  selector: 'example-selector',
  templateUrl: 'example.component.html',
  styleUrls: ['example.component.css']
})
export class ExampleComponent {
  @Input() size: number;
}
Run Code Online (Sandbox Code Playgroud)

example.component.scss

.some-class {
  width: calc(100% - {{ size }};
}
Run Code Online (Sandbox Code Playgroud)

如果没有,如何解决?

谢谢。

Joã*_*tti 6

Oukei,我发现要解决的解决方案实际上很简单,它确实允许您在样式内使用组件变量。
您基本上可以使用[ngStyle]伪指令来更改元素的属性。

example.component.ts

@Component({
  selector: 'example-selector',
  templateUrl: 'example.component.html',
  styleUrls: ['example.component.css']
})
export class ExampleComponent {
  @Input() size: number;
}
Run Code Online (Sandbox Code Playgroud)

example.component.html

<div [ngStyle]="{ 'width': 'calc(100% - ' + size + 'px)' }"></div>
Run Code Online (Sandbox Code Playgroud)

或者您可以使用calc除以

<div [ngStyle]="{ 'width': 'calc(100% / ' + size + ')' }"></div>
Run Code Online (Sandbox Code Playgroud)

或使用其他任何给定的属性。
您还可以为该元素定义类,并使用定义特定(或多个)属性ngStyle

谢谢。