访问 Polymer 动态元素
Accessing Polymer dynamic elements
如何访问 dom-if
条件内的元素?
这是我模板的一部分:
<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>
我需要像这样访问 Javascript 中的 #userLevelBadge
:
查看 ready
方法。
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;
}
}
但是没有用。满足条件,显示了dom-if
里面的HTML,但是在Wiki.
里面用this.$$(selector)
访问不到
将this.async()
中的代码换行,给Polymer一些时间来标记模板内容。
如何访问 dom-if
条件内的元素?
这是我模板的一部分:
<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>
我需要像这样访问 Javascript 中的 #userLevelBadge
:
查看 ready
方法。
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;
}
}
但是没有用。满足条件,显示了dom-if
里面的HTML,但是在Wiki.
this.$$(selector)
访问不到
将this.async()
中的代码换行,给Polymer一些时间来标记模板内容。