在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>
最佳答案
您可以在public
构造函数内创建一个Polymer
方法,该方法将返回privateObj
的值
privateObjValue:function(){
return privateObj;
}
现在您可以使用
this.privateObjValue()
读取对象的值(不确定它在Polymer 0.5
中的工作方式)