我有一个自定义指令并使用ng-repeat渲染该指令。我需要的是我想在传递给我的自定义指令之前编译插值。
在下面找到plnkr
https://plnkr.co/edit/bjdBSKCFPhgbE2aREupy?p=preview
这里我想使用mycompile指令在此代码<display-id mycompile id={{op.id}}> </display-id>
中编译插值。
app.directive('mycompile', function ($compile, $interpolate) {
return {
restrict: 'EA',
replace: true,
compile: function ($scope, $elm, $attrs) {
return {
pre: function ($scope, $elm, $attrs) {
$interpolate($elm[0])($scope);
}
}
}
}
})
答案 0 :(得分:0)
$interpolateProvider期望string是一个参数,所以你需要的是将你的元素转换为字符串然后再转换回DOM元素,如果你愿意的话
可以使用outerHTML
属性来实现:
$interpolate($elm.prop('outerHTML'))($scope);