0

是否可以在兄弟组件中通过 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 来停止进度。

我已经尝试过但没有成功。

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

4

1 回答 1

0

我建议创建一个函数来停止元素内的进度。

就像是

    stopProgress() {
      this.$.progress.style.display = 'none';
    }

然后你可以从任何地方打电话

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

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

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

PS:只做 css 修改也可以只用 css 变量存档;但在这种情况下我不会推荐它。

于 2017-03-16T13:20:40.683 回答