2 つのオブジェクト モデル model1:{name:"foo"} model2:{name:"model2"} を持つフォーム コントローラーがあります。2 つのディレクティブを作成しました (どちらも分離スコープを作成します)。1 つはモデル 1 を使用する要素のみのバインドで、もう 1 つはモデル 2 を使用する属性のみのバインドです。
ネスティングは次のようになります。
<div myattibute="model2">
<mytag my-model="model"></mytag>
</div>
属性のみのディレクティブにはテンプレートがなく、タグ ディレクティブにはテンプレートがあります。
問題は、モデルの mytag ディレクティブで未定義になっていることです。
1.誰かが問題を見て、plnkr で説明できますか?
http://plnkr.co/edit/Q23XqY?p=preview
部分的な解決策: myattribute ディレクティブに ng-transclude のみを使用して空の div テンプレートを追加する実際の例は、それを機能させます。この属性ディレクティブが div にあることを義務付けたので、任意の div やスパンなどに配置できるようにしたいと考えていました。実際の例は次のとおりです 。
2 .ng-transclude はスコープの継承にどのように影響しますか?
3 .マークアップなしでビジネス ロジックのみでこの属性を作成することはできませんか?