0
this questionでは、OPは、コンポーネント内の外部にプライベートオブジェクトを公開しないようにする方法について尋ねました。私は周りにグーグルで行ってきたし、反対を行う方法を見つけることができません。下のコンポーネントがあり、私のWebページまたは親コンポーネントから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>
あなたの質問は「プライベートオブジェクトを非公開にするにはどうすればいいですか?」という質問があります。それからプライベートなものを作ることができるのは何ですか? – ceejayoz
@ceejayozはい、私は個人的なものを公開することはコンポーネントのカプセル化の前提に反対していることを知っていますが、それが何とかできたら、私はそれが第三者コンポーネントだから好きでしょう。パッチ適用されたアプリケーションを出荷します。また、それはまさにPolymerがまさにそのものです。間違いなく、Webコンポーネントの標準化に欠けています。 – rraallvv
「前提」に反するものではなく、言語の機能*に反するものです。 PRがマージされるまで(または拒否されるまで)コンポーネントをフォークする必要があります。それはプライベートオブジェクトです。それがプライベートであることの全ポイントは、プライベートだということです。 – ceejayoz