在 this question OP询问如何避免将组件中的私有(private)对象暴露给外部。我一直在谷歌上搜索,但找不到一种相反的方法。假设我有下面的组件,并且我想从我的网页或父组件访问 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>
最佳答案
您可以在 Polymer
构造函数中创建一个 public
方法,该方法将返回 privateObj
的值
privateObjValue:function(){
return privateObj;
}
现在您可以使用 this.privateObjValue()
读取对象的值(不确定它在 Polymer 0.5
中如何工作)
关于javascript - 如何访问组件脚本中的私有(private)对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38044835/