2016-10-04 1 views
0

シンプルな箇条書きのリストである簡単なdojoプロパティを作成しました。新しい項目を追加/削除できます。ページ編集のEpiserver dojo設定とすべてのプロパティタブ

ただし、ページ編集時とすべてのプロパティタブで正しく機能するように設定することに問題があります。

私のセッターは、次のようになります。

_setValueAttr: function (val) { 
    array.forEach(val, this._addRow, this); 
} 

、その後のPostCreateがすでに実行して、私のコンテナを作成しているので、それはすべてのプロパティ]タブのため正常に動作します:

contentPane: null, 

postCreate: function() { 
    contentPane = new ContentPane(); 
} 

しかし、上のページ編集のタブsetValueAttrがpostCreateの前に実行されていて、次に私の行を攻撃するcontentPaneがありません。

ドキュメント内のライフサイクルに関するものが見つかりました。b UTは、私はそれが関係していますかわからない:

http://dojotoolkit.org/reference-guide/1.8/quickstart/writingWidgets.html#life-cycle

どのように両方のビューのためのセッターを扱うことができますか..?最良の方法は何

答えて

0

は、シナリオによって異なりますが、一例として、あなたのウィジェットコンストラクタで、次の試みることができることができます:

aspect.after(this, "set", function (name, value) { 
    if (name === 'value' && value) { 
     // The property value has been set/updated 
     // TODO Do something if the content pane has been created 
    } 
}, true); 

aspectdojo/aspectをインポートすることができます。

+0

こんにちはテッド、返信いただきありがとうございます。私は当分の間問題を棚上げしなければならず、それ以来忙しかった。この問題をさらに明確にするために、ブロックはデフォルト値を使用して、ブロックを編集するときに最初にページ編集ビューを表示します。青い編集領域をクリックしようとすると、最初に実行される機能はsetValueAttrです。一方、すべてのプロパティビューに移行すると、私のポストクリエイトが最初に実行されています。そしてそれを介して私のセットを伝播する。私はコンストラクタをログに記録し、そこに設定する値がまだないようですが、アスペクトを使用して "value"がnullです。他のアイデア? – Cammy

関連する問題