css - 在 SCSS 文件 Angular 2 中访问组件变量

标签 css angular sass

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

example.component.ts

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

example.component.scss

.some-class {
  width: calc(100% - {{ size }};
}

如果不是,怎么解决?

谢谢。

最佳答案

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

example.component.ts

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

example.component.html

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

或者你可以用calc来除以

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

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

谢谢。

关于css - 在 SCSS 文件 Angular 2 中访问组件变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48569833/

相关文章:

html - 为什么 align-self 不左右对齐元素?

css - SASS中有没有办法动态地为文件之间的变量赋值

javascript - Webpack sass css 文件在哪里

html - Flexbox 不遵守 overflow-x : hidden on body (Safari/iOS webkit)

php - 简单的 html DOM 如何在特定的 div 中获取 <source> 中的 src?

html - 根据条件在模板中添加中间元素

angular - 无法识别的配置部分 system.webServer。 (对于 Angular 核心 - Angular)

internet-explorer - CSS3 Pie Border-radius Circle 显示细边框

css - 最小高度 : auto not working in Opera

javascript - 将 json 数据获取到数组 angular2 中