オブジェクト自体の中からプライベート(下線付き)プロパティを観察することは可能ですか?_view_layerがいつ設定されるかを知る必要があります。そうすれば、いくつかのjQueryでもハンドラーを適用できます。残念ながら、init()とrender()は本当に早いので、_view_layerは未定義です。残念ながら、_view_layerの観察はうまく機能していないようです。何ができるか教えてください。基本的に、別の可能な解決策があれば、私もそれを見ることができます
2 に答える
2
Sproutcoreでは、アンダースコアはプロパティ/メソッドがプライベートであるという規則にすぎません。実際にはプライベートではありません。
Sproutcoreでは、ビューにはライフサイクルメソッドがあります。これは興味深いかもしれません(ビューのSC 1.4.5コードから取得):
- didCreateLayer: render()メソッドは新しいHTMLを生成するために使用されます。
このメソッドをオーバーライドして、ビューの作成後に行う必要があるDOMで追加のセットアップを実行します。たとえば、イベントをリッスンする必要がある場合です。
SC 1.6以降では見方が大きく変わりましたが、didCreateLayer
それでも認識されていると思います。
于 2011-06-17T14:10:45.033 に答える
0
(function() {
var value = obj._view_layer;
delete obj._view_layer;
var callback = function() {
/* observation logic */
}
Object.defineProperty(obj, "_view_layer", {
get: function() {
return value;
},
set: function(val) {
value = val;
callback(val);
},
writable: true,
enumerable: true
});
})();
ES5ブラウザが必要です。
デバッグにのみ使用することをお勧めします。.watch
Firefoxでデバッグするときにも使用できます。
于 2011-06-16T21:22:35.280 に答える