Angularjs 在ng repeat循环内设置的Parse指令
想知道是否有可能在ng内部重复一个指令Angularjs 在ng repeat循环内设置的Parse指令,angularjs,angularjs-directive,angularjs-ng-repeat,Angularjs,Angularjs Directive,Angularjs Ng Repeat,想知道是否有可能在ng内部重复一个指令 <div data-ng-repeat="item in items" data-{{item.type}}="item"> </div> 结果是 <div data-link="item"><div> <div data-video="item"></div> 换句话说,我希望指令是动态的。 这可能吗 我认为这是不可能的,但您可以创建一个指令,用您想要的指令替换它: my
<div data-ng-repeat="item in items" data-{{item.type}}="item">
</div>
结果是
<div data-link="item"><div>
<div data-video="item"></div>
换句话说,我希望指令是动态的。
这可能吗 我认为这是不可能的,但您可以创建一个指令,用您想要的指令替换它:
myApp.directive('makeDirective', function($compile){
return {
compile: function CompilingFunction(element, attrs) {
var directiveName = attrs.makeDirective;
return {
pre: function preLink(scope) {
element.replaceWith($compile('<div data-' + directiveName + ' ></div>')(scope));
}
}
}
}
})
myApp.directive('makeDirective',函数($compile){
返回{
编译:函数编译函数(元素,属性){
var directiveName=attrs.makeDirective;
返回{
前置:功能预链接(范围){
替换为($compile(“”)(scope));
}
}
}
}
})
像这样使用它:
<div make-directive="video"></div>
要传递属性,需要更新maker指令
我想我可以把这个问题与另一个问题联系起来是的,我发现这是不可能的。我确实更喜欢在其他地方找到的ng require=“template”,但这也是一个好主意。实际上我已经想到了这一点,但对于我正在尝试做的事情来说,这将是太“骇客”了。尽管如此,我还是会给你分数,因为总的来说,这是一个非常好的选择。