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>