2013-07-20 11 views
7

2つの指令を作成しようとしています。最初のディレクティブは、他の定義済みの角度ディレクティブ(ng-clickとng-class)を要素に追加し、コンパイルして機能させます。ng-transcludeを含むAngularJs指令テンプレートはコンパイルできません

第2のディレクティブは、第1のディレクティブを含むテンプレートの要素を置き換えます。私はng-transcludeを使って要素の内容をテンプレートに渡します。

問題が指令2からテンプレートが追加されてから最初のディレクティブは、コンパイルしようとグラグラを投げることです:

「例外TypeError:未定義の関数ではない」NGとき

指令1が正常に動作します-transcludeはテンプレートに存在しません。私はこのことを実証するためにPlunkを作成しました:http://plnkr.co/edit/RdtjIy5XKOsqvh5VnwMr

私が間違っているところを助けることができる人は誰ですか?

おかげで、 サム

+2

経験則として、開発中により明確なエラーを表示するには、あなたのライブラリの非圧縮バージョンを使用してください。あなたの場合、エラーは '' 'エラー:$ transcludeは' '' 'ngTranscludeDirective'''の関数ではありません。 – Blackhole

答えて

1

はさらに試行錯誤の後、私は修正を発見したと、私の知る限り、何の副作用はありません。

2番目のディレクティブからng-transclude属性を削除するだけです。私はここにアップデートされたPlunkを持っています:http://plnkr.co/edit/9QXkqzzyUy9VvMYC6fO6

関連する問題