0

angular.js の compileTemplateUrl 関数で。'controller: null' の derivedSyncDirective により、その要素のコントローラー関数が保存されません。そのため、nodeLinkFn(そのプレリンク部分)で呼び出された getControllers は例外をスローするため、プレリンクは呼び出されません。http://plnkr.co/edit/yMcurPowZmxCOv0luE5sを参照してください 。ここで「コントローラー: null」の理由がわかりません。誰もそれを知っていますか?

4

1 に答える 1

1

コントローラーを名前で参照する場合は、コントローラーをディレクティブに渡す必要があります。したがって、最初に、このようなテンプレートのディレクティブでコントローラーを指定する必要があります

<div ess-tag ng-controller="TagController">
    <span>test</span>
</div>

そして、ディレクティブにrequireステートメントを追加します。このステートメントは、コントローラーを名前で参照する場合に、注入されたコントローラーの場所をコントローラーに指示します。

require: 'ngController',
controller: 'TagController',
于 2013-08-08T15:16:51.067 に答える