2017-06-26 4 views
0

上の$が、私はこのコードを持っています。 $ scope.switchStay関数の中からディレクティブの$スコープにアクセスする必要があることを除いては、 これを達成する方法はありますか?

+0

私が引用したコードは、内部ディレクティブの$ scopeです。 switchStayを持つ同じ$スコープにアクセスする必要があります。 – Pablo

+1

私はあなたが同じ$範囲について話していないと思って答えました。あなたの質問はどうですか?関数の中で '$ scope'を使うだけで、それにアクセスすることができます... – quirimmo

+0

いいえ、あなたはしません。関数内にスコープはありません。 – Pablo

答えて

0

実際に$broadcastまたは$emitというイベントがディレクティブから発生した場合は、ディレクティブのスコープもパラメータとして送信できます。それはうまくいくはずですが、これは実際にはひどく、本当に悪い習慣です。

これらの場合には、コールバックパラメータをディレクティブ(&)に追加して、コールバックとしてswitchStay関数を提供し、単にディレクティブからトリガして、コールバック関数内でアクセスする必要があるパラメータを渡します。関数。

私はそれが理に適ったと思います。

+0

問題は、$ broadcastが$ scope。$と同じではないというディレクティブです。この場合、どうすればよいでしょうか? – Pablo

+0

コールバックとして '&'パラメータを使用するのはまさにそのケースです – quirimmo

+0

コードを更新しました。私はあなたが何を意味するのか理解できません – Pablo