如何在Polymer中访问孙元素的css mixin?

时间:2019-08-28 11:17:19

标签: css polymer polymer-2.x

我有一个Polymer组件,该组件在其模板(按钮容器)中使用了另一个组件。所述子组件还使用另一个组件(按钮本身),并且在禁用该按钮时,我需要为该按钮添加一些样式。像这样:

<dom-module id="parent-component">
  <template>
    ... template elements
        <confirm-buttons-container id="child-component" config$="[[someConfigVariable]]" ></confirm-buttons-container>

  </template>
</dom-module>

子组件是这样的:

<dom-module id="confirm-buttons-container">
  <template>
      <dom-if if="[[config.buttons.primary]]">
        <template>
          <grandchild-component-button class$="[[config.buttons.primary.class]]">
            <button
              id="primaryBtn"
              name="primary"
              inner-h-t-m-l="[[t(config.buttons.primary.text)]]"
              disabled$="[[config.buttons.primary.disabled]]">
            </button>
          </grandchild-component-button>
        </template>
      </dom-if>
  </template>
</dom-module>

子组件具有为孙子组件设置样式的mixin,也具有为我要更改的属性设置样式的mixin。当config.buttons.primary.disabled为true时,如何从父组件到达所说的mixin

在此先感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

将此CSS添加到您的样式中:

 #parent-component #confirm-buttons-container [disabled="true"]{ color:red; }

答案 1 :(得分:0)

首先,孙子必须在他们的班级/样式中有一个混合。如果没有,将无法访问。 https://polymer-library.polymer-project.org/2.0/docs/devguide/custom-css-properties#use-custom-css-mixins