0

我有一个自定义指令并使用 ng-repeat 呈现该指令。我需要的是在传递到我的自定义指令之前编译插值。

在下面找到 plnkr

https://plnkr.co/edit/bjdBSKCFPhgbE2aREupy?p=preview

在这里,我想<display-id mycompile id={{op.id}}> </display-id>使用 mycompile 指令在此代码中编译插值。

    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);

                    }
                }
            }

        }
    })
4

1 回答 1

0

$interpolateProvider期望字符串是一个参数,所以你需要将你的元素转换为字符串,然后如果你愿意,它可以通过outerHTML属性来实现:

$interpolate($elm.prop('outerHTML'))($scope);
于 2017-11-07T07:34:45.423 回答