在this question中,OP询问如何避免将私有对象暴露给组件外部。我一直在谷歌搜索,无法找到相反的方法。假设我有以下组件,我想从我的网页或父组件访问privateObj
。如何使用JavaScript和Polymer API完成?
<polymer-element name="animating-element">
<script>
var privateObj = {};
privateObj.internalState = 0;
//private static method
privateObject.setupState = function(polymerObject) {
if(polymerObject.stateExposedToOutside == /* some conditions */) {
privateObject.internalState = 1;
}
}
Polymer('animating-element', {
stateExposedToOutside: 0,
ready: function() {
privateObj.setupState(this);
this.animate();
},
animate: function() {
}
});
</script>
</polymer-element>
答案 0 :(得分:1)
您可以在public
构造函数中创建Polymer
方法,该方法将返回privateObj
privateObjValue:function(){
return privateObj;
}
现在,您可以使用this.privateObjValue()
读取对象的值(不确定它在Polymer 0.5
中的工作原理)