私はあなたがオプションの「リバース」またはコールバックバインディングを持つことができることを学びました:
_scope: { parentScopeFunc: '&?' }
_
私は、双方向バインディングで同様のことを行う方法があるかどうかを確認しようとしています。
_scope: { optional2WayBoundProp: '=?' }
_
リンク関数のelement
&attrs
paramsを試しましたが、親への双方向バインディングが失われました。その方法では、親から子への更新のみが可能です。次に、_@
_スコープメカニズムを使用しているだけかもしれません。
私はこの質問を見つけました Angular JSディレクティブ、リンク関数の2ウェイデータバインディングを変更します なので、_=?
_に関する主な質問に答えます。ただし、true
やfalse
などの「オプションの」非バインド値は解決されません。
これが私が達成しようとしていることです:
コンテンツをトランスクルードし、ヘッダー領域とは別に折りたたみ可能なパネルディレクティブを記述します。<my-panel> <transcluded-header-content/> <button ng-click="toggleCollapse()"/> <transcluded-body-content ng-if="isExpanded"/> </my-panel>
場合によっては、パネルインスタンスの折りたたまれた状態を親スコープにキャッシュする必要があります(したがって、ビューのコントローラーがこの情報をキャッシュする方法を決定できる双方向バインディング)。
_<my-panel is-expanded="parentScopeProp">
_
<my-panel is-expanded="true/false">
__=
_割り当てを使用すると、undefined
、true
&false
などの式を評価できないことを理解しています。
'=?'
は、ng 1.2.x以降の有効なスコープ割り当てです...
...オプションの双方向バインディングから式を補間する手段を持つ機能に関しては、それはまだグラブのためです。