手动$ compile后等待渲染

时间:2016-11-19 01:23:23

标签: angularjs

我有一个包含动态内容的页面。内容取决于很多选项,所以我使用$ compile进行手动编译。我有这样的指示:

function compileHtml($compile, $timeout) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            scope.$watch(function () {
                return scope.$eval(attrs.compileHtml);
            }, function (value) {
                if (value) {
                    element.html(value);
                    $compile(element.contents())(scope);
                }
            });
        }
    };

编译HTML时有很多DevExtreme图表。他们有自己的指示。 渲染整个页面后我需要一个事件,包括所有图表。我尝试使用$timeout(function () {},但在渲染图表之前会触发它。它适用于这样的黑客:

$timeout(function () { 
    $timeout(function () {
    }
}, 100);

但这不是我想要的。你可以建议一下吗?

0 个答案:

没有答案