ディレクティブ(<partition>
)が子ディレクティブのコントローラ(<property-value>
)でメソッドを呼び出せる、Angularで階層構造を実装する方法に関するアドバイスを探しています。子ディレクティブのメソッドを呼び出す角度ディレクティブ
私はここで一緒に詳細な例を入れている:
https://jsfiddle.net/95kjjxkh/1/
あなたが見ることができるように、私のコードは、内の1つ以上の<property-value>
ディレクティブを表示するアウターディレクティブ、<partition>
が含まれています。
<property-value>
ディレクティブは、編集方法editItem()
を提供しています。これにより、ユーザは1つのエントリの値を変更できます。私の例を簡潔にするために、私は単純にここに乱数を割り当てますが、私のプロダクションアプリでは、新しい値をユーザに問い合わせるモーダルが表示されます)。
これは問題なく動作します。しかし、外部ディレクティブ<partition>
では、新しい空白の<property-value>
ディレクティブを作成し、直ちにその編集メソッドを呼び出して、ユーザーが初期値を入力できるようにしたいと考えています。初期値が入力されない場合、新しい項目は破棄されます。
私は内部ディレクティブの例を見てきましたが、ディレクティブを囲むことでメソッドを呼び出すことができましたが、それ以外の方法はありません。
これを行う方法はありますか?あるいは、このような視点を構築するためのより良い方法がありますか?
これは興味深いソリューションですが、残念ながら、それは実際にはかなりのない作業を行います。私はあなたのコードを新しいPlunkrに統合し、なぜこれが理想的でないのかを説明するコメント(app.js:52〜61行目)を追加しました:http://plnkr.co/edit/hHACVtZVxchkAopRKdhP?p=preview – BillyBBone
申し訳ありません私は誤ってplnkr.coのリンクを削除してしまい、上記のコメントを編集できません。 JSFiddleの同じコードは次のとおりです:https://jsfiddle.net/z72pb6wc/ – BillyBBone
子関数が呼び出される前にディレクティブが確実に描画されるようにする最も簡単な方法は、子関数の呼び出しを '$ timeout '。 https:// jsfiddle。net/huvfyvhs/ – Claies