在我的应用程序中,我动态地创建了一个指令,该指令包含要包含到容器(div)中的已包含内容。我将这种方法用于已经完成的几个组件,并且效果很好。但是现在我遇到了一个问题,因为该指令已包含了内容。我收到这样的错误:
angular.js:14199错误:[$ compile:ctreq]指令'compB'所需的控制器'compA'找不到!
任何帮助将不胜感激
这是创建组件并将其添加到容器的代码
var newScope = $rootScope.$new(true);
newScope.elementConfig = elementConfiguration;
newScope.componentApi = {};
containerElement.append($compile(elementToHost)(newScope));
这是我要添加到容器中的组件
<field
type="{{type}}"
model=""
mdt="{{mdt_type}}"
label="{{label}}"
placeholder="{{placeholder}}"
maxlength="{{maxlength}}"
req="isMandatory"
editable="editable"
is-disabled="disabled">
<micro-help micro-help="{{'text.label' | translate }}"
as-tooltip="true"
position="right"
micro-help-icon="fa-globe">
<div>
<micro-help-localization>
</micro-help-localization>
</div>
</micro-help>
</field>
答案 0 :(得分:0)
当HTML编译器尝试处理在指令定义中指定require
选项的指令,但是当前DOM元素(或其祖先元素,如果{{ 1}})。
要解决此错误,请确保必需的控制器名称中没有拼写错误,并且当前元素中存在必需的指令控制器。
有关更多信息,请参见AngularJS Error Reference - $compile:ctreq Missing Required Controller