是否可以在Angular2组件上下文中引用聚合物css变量?

时间:2016-11-28 05:07:43

标签: angular polymer components polymer-1.0

我试图以Ng2组件样式“my-comp-style.scss”访问聚合物的mixin和vars属性。 即:

@apply(--shadow-elevation-2dp);
background: var(--primary-color, #666);

但不解释--shadow-elevation和--primary-color。有没有办法来解决这个问题 ?没有复制mixins和vars会很棒。

2 个答案:

答案 0 :(得分:0)

这些链接可能会有所帮助:

来自Polymer团队的Rob讲述了如何使用Polymer + Saas。 https://www.youtube.com/watch?v=xA2hxpGS7yw

另一个Stack Overflow线程: How to use Sass inside a Polymer component

答案 1 :(得分:0)

当您未使用<style>时,组件中引用的样式和外部样式表(包括CSS和SASS)将<head>标记添加到ViewEncapsulation.Native

请记住,有些浏览器本身支持CSS变量,但没有浏览器支持CSS @apply mixin。 Polymer使用ShadyCSS进行此处理。

Polymer 1.x期待<style is="custom-style"></style>

Polymer 2.x期待<custom-style><style></style></custom-style>

您可以编写一项服务,在<head>中创建组件后扫描ngOnInit()并添加is="custom-style"或使用<custom-style>打包以使ShadyCSS正常工作。

这是我在Origami中使用的策略,使Angular和Polymer 2样式协同工作。