Jquery 从动态插入的标记编译指令

Jquery 从动态插入的标记编译指令,jquery,angularjs,angularjs-directive,angularjs-scope,angularjs-compile,Jquery,Angularjs,Angularjs Directive,Angularjs Scope,Angularjs Compile,我想创建一个由几个较小的“应用程序”组成的仪表板。我有以下标记(简化): 变成这样: <div ng-repeat="app in appRow.apps"> <my-directive></my-directive> </div> 在同一个函数中尝试这一切都不起作用,调用$scope.$apply()会抛出一个错误($digest已在运行),我不知道是否有回调。并且查找DOM元素不起作用。感谢您的帮助或其他建议 进一步解释: 指令可以是任何

我想创建一个由几个较小的“应用程序”组成的仪表板。我有以下标记(简化):

变成这样:

<div ng-repeat="app in appRow.apps">
  <my-directive></my-directive>
</div>
在同一个函数中尝试这一切都不起作用,调用
$scope.$apply()
会抛出一个错误(
$digest
已在运行),我不知道是否有回调。并且查找DOM元素不起作用。感谢您的帮助或其他建议

进一步解释:


指令
可以是任何指令(
,…)。在我的模板中有一个占位符
{{app}}
,我将在运行时用上面提到的任何指令替换它(假设您单击一个按钮,并且该指令正在替换
{app}
)。然后我希望我的指令能够工作。

我可以想到的一种方法是使用容器指令来保存已编译的指令

角度模块('test',[]) .controller('Test',TestController) .directive('appLoader',appLoaderDirective) .指令('apple',appleDirective) .指令(“香蕉”和“香蕉”指令); 函数TestController($scope){ $scope.apps=['apple','banana'] } 函数appLoaderDirective($compile){ 返回{ 作用域:{app:'='}, 链接:功能(范围、元素、属性){ //根据您的输入,您可能需要在此处进行从骆驼盒到烤肉串盒的转换
元素。追加($compile)("实际上,这很好…你不需要$apply…肯定在其他地方有错误..而且你不需要编译我不确定我是否理解正确,但你需要的是一个
,它将根据应用程序的类型动态更改其内容。更具体地说,
将动态显示指令,具体取决于关于
app
的值。这个假设正确吗?我添加了进一步的解释。我只想在运行时将任意指令插入到我的模板中并进行编译。谢谢你的帮助!谢谢你,成功了!显然我正在考虑复杂化。
<div ng-repeat="app in appRow.apps">
  {{app}}
</div>
<div ng-repeat="app in appRow.apps">
  <my-directive></my-directive>
</div>
<div ng-repeat="app in appRow.apps">
  <my-directive>CONTENTS OF MY TEMPLATE</my-directive>
</div>