0

在 angular.js 的 compileTemplateUrl 函数中。derivedSyncDirective 的“控制器:null”导致没有为该元素存储控制器函数。所以在nodeLinkFn(它的prelink部分)中调用的getControllers会抛出异常,所以不会调用prelink。请参阅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 回答