在 Components Polymer 2.0 之间通过 Id 获取组件
Get Component by Id between Components Polymer 2.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 来停止进度。
我已经试过了,但没有成功。
我建议创建一个函数来停止元素中的 Progress。
类似
stopProgress() {
this.$.progress.style.display = 'none';
}
那么你就可以随时随地打电话了
document.getElementById('myID').stopProgress();
记住你 "can" 只有 select 个元素在 "light" dom 中。 shadom dom 是元素的一部分,只能由元素本身修改。
有关工作示例,请参见
https://jsbin.com/haguwoqote/edit?html,console,output
PS: 只做 css 改变也可以只使用 css 变量来归档;但在那种情况下我不推荐它。
是否可以通过兄弟组件中的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 来停止进度。
我已经试过了,但没有成功。
我建议创建一个函数来停止元素中的 Progress。
类似
stopProgress() {
this.$.progress.style.display = 'none';
}
那么你就可以随时随地打电话了
document.getElementById('myID').stopProgress();
记住你 "can" 只有 select 个元素在 "light" dom 中。 shadom dom 是元素的一部分,只能由元素本身修改。
有关工作示例,请参见 https://jsbin.com/haguwoqote/edit?html,console,output
PS: 只做 css 改变也可以只使用 css 变量来归档;但在那种情况下我不推荐它。