.second
の要素をsecond
ディレクティブlink
の機能first
ディレクティブから得る方法はありますか?親子の子ディレクティブから要素を取得
http://plnkr.co/edit/PiCyZzgvdwAuOyNKOi9E?p=preview
P.Sはそれがtemplate
link
の機能と動作しますが、私はtemplateUrl
を必要としています。
.second
の要素をsecond
ディレクティブlink
の機能first
ディレクティブから得る方法はありますか?親子の子ディレクティブから要素を取得
http://plnkr.co/edit/PiCyZzgvdwAuOyNKOi9E?p=preview
P.Sはそれがtemplate
link
の機能と動作しますが、私はtemplateUrl
を必要としています。
templateURLを使用しているため、HTMLをダウンロードしてから非同期イベントにする必要があり時間がかかります。
あなたはタイムアウトで回避することができますが、それはあなたがどれくらい待つかわからないのできれいではありません。
一つのオプション、<second>
は常に<first>
内であると考えられる場合には、それが作成されると、独自のリンク機能から、それからのコールバックを実行することです:
{
restrict: "E",
templateUrl:'second.html',
link: function(scope) {
scope.onSecondReady();
}
}
がいっぱいのため、このplunkrをチェックコード:
今http://plnkr.co/edit/NLdWaL8zRYkroGC7ZkYL?p=preview
<second>
は異なる文脈で再利用することになって、とは限らないもみ内にある場合あなたはイベントを使用する必要があります。 1秒に1度の準備ができたら、scope.$emit('second-is-ready')
を使用し、最初のものを聞くとscope.$on('second-is-ready')
ありがとうございます) – Andrey
でも、それはなぜ必要なのですか?これは悪い習慣であることに気づいている? – dfsq
私はangular.jsを知りません(覚えておくためにここで質問を読んでいます)が、私はブラウザで他のMVVMの実装を知っていて、このような要素にアクセスすると、ビューとプレゼンテーションまたはビジネスロジック間の緊密な結合ができます。おそらく、ビューモデルまたはサービス –
を介して双方向バインディングを介してその値を伝えることを検討する必要があります。それは私のタスクの非常に単純化された変形です。そこにはtemplateUrlがあり、このような要素を取得する必要があります。 – Andrey