在Components Polymer 2.0之间获取ID

时间:2017-03-14 16:04:43

标签: polymer polymer-2.x

是否可以在兄弟组件中通过id获取另一个组件? 例如:

<paper-progress id="progress" value="10" indeterminate></paper-progress>

<my-iron-ajax url="http://someurl.com" auto last-response="{{data}}" stop-progress="progress"></my-iron-ajax>

目的是当ajax完成时,自动停止进度。组件的最终用户不需要使用JavaScript来停止进度。

我已经尝试但没有成功。

错误的复制: https://jsbin.com/sadahupixo/edit?html,output

1 个答案:

答案 0 :(得分:0)

我建议创建一个函数来阻止元素中的Progress。

这样的东西
    stopProgress() {
      this.$.progress.style.display = 'none';
    }

那么你可以随时随地打电话

document.getElementById('myID').stopProgress();

记住你“只能”选择“光”dom中的元素。 shadom dom是元素的一部分,只能由元素本身修改。

有关工作示例,请参阅 https://jsbin.com/haguwoqote/edit?html,console,output

PS:只做css更改也可以通过仅使用css变量进行存档;但在这种情况下我不会推荐它。