Javascript 聚合物动力元件
如果条件满足,如何访问Javascript 聚合物动力元件,javascript,polymer,polymer-1.0,Javascript,Polymer,Polymer 1.0,如果条件满足,如何访问dom中的元素 这是我的模板的一部分: <template> ... <template is="dom-if" if="{{_displayUserLevelBadge(level)}}"> <div class="profileUserLevelContainer"> <iron-icon id="userLevelBadge" class="icon-20" icon="chat:ve
dom中的元素
这是我的模板的一部分:
<template>
...
<template is="dom-if" if="{{_displayUserLevelBadge(level)}}">
<div class="profileUserLevelContainer">
<iron-icon id="userLevelBadge" class="icon-20" icon="chat:verified-user"></iron-icon>
<span class="profileUserLevel">{{userLevelString}}</span>
</div>
</template>
...
</template>
但它不起作用。条件满足,如果
,则显示dom中的HTML,但我无法使用this.$$(选择器)
访问它,如中所指定
Fiddle:将代码包装在this.async()
中,以便给Polymer一些时间来标记模板内容 如果条件为真,它应该工作,否则不行。如果您需要在false时访问,您可能希望使用hidden
。@GünterZöchbauer它应该使用,但不使用。用fiddle更新。听起来很熟悉,我想你需要给Polymer一些空气来呼吸,用this.async()包装你的代码,以在if
模板上盖章。谢谢!我只是试了一下,效果不错!
Polymer({
is: 'custom-element',
properties: {
level: {
type: String,
value: null
},
userLevelString: {
type: String,
value: ''
}
},
ready: function() {
var userLevelBadge = this.$$('#userLevelBadge'); //return undefined
},
_displayUserLevelBadge: function(){
//not including my code
//Just returning true for simplicity
return true;
}
}