使用afterRender回调后,角度渲染无法正常工作

地根

这是我正在使用的当前代码

App.directive('afterRender', ['$timeout', function ($timeout) {
    var def = {
        restrict: 'A',
        terminal: true,
        transclude: false,
        link: function (scope, element, attrs) {
            $timeout(scope.$eval(attrs.afterRender), 0);
        }
    };
    return def;
}]);

我这样称呼它

after-render="disableFullPage"

现在,我当前代码面临的问题是disableFullPage函数被调用为罚款。但是angular不会渲染任何数据。所以如果我放

{{message}}

没有被渲染。另外,如果我删除了后期渲染,渲染效果很好。有人可以帮我解决我做错的事情吗,如果可能的话,请编辑上面的代码并提供简短的说明,以使我更好地理解,因为我还比较陌生。

乔希

我看到这里发生了两件事。

首先,您要进行设置terminal: true,以防止进一步解释指令和表达式。

根据文档

如果设置为true,则当前优先级将是将要执行的最后一组指令(由于未定义在相同优先级上的执行顺序,因此当前优先级的任何指令仍将执行)。请注意, 指令模板中使用的表达式和其他指令也将从执行中排除。

其次$parse将在当前作用域的上下文中评估您给出的任何表达式。就像您刚刚编写了一行javascript。

在上面的示例中after-render="disableFullPage",假设disableFullPage是一个函数,则将不会发生任何事情。您需要像通常调用该函数一样添加括号:

after-render="disableFullPage()"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

回调无法正常工作。

来自分类Dev

执行回调后,jQuery无法正常工作

来自分类Dev

数据 onResponse 后回调无法正常工作

来自分类Dev

iOS8弃用了AudioUnitSampleType,我的渲染回调现在无法正常工作

来自分类Dev

回调中的removeEventlistener无法正常工作

来自分类Dev

WCF回调无法正常工作

来自分类Dev

jQuery插件回调无法正常工作

来自分类Dev

使用角度路线后SignalR无法正常工作

来自分类Dev

样式渲染后的回调

来自分类Dev

回调无法正常工作node.js

来自分类Dev

Drupal 7访问回调无法正常工作

来自分类Dev

具有回调功能的Javascript无法正常工作

来自分类Dev

Bootbox回调表单提交无法正常工作

来自分类Dev

回调函数中的setTimeout无法正常工作

来自分类Dev

Drupal 7访问回调无法正常工作

来自分类Dev

after_find回调无法正常工作

来自分类Dev

Bootbox回调表单提交无法正常工作

来自分类Dev

JavaScript中的匿名回调无法正常工作

来自分类Dev

回调侦听器无法正常工作

来自分类Dev

维度 value_format 回调无法正常工作

来自分类Dev

回调函数在点击时无法正常工作

来自分类Dev

ViewChild升级到角度9后无法正常工作

来自分类Dev

异步回发后的jQuery无法正常工作

来自分类Dev

重新渲染模板后的流星回调

来自分类Dev

使用对象/嵌入/ iframe渲染PDF无法正常工作

来自分类Dev

角度$ watch无法正常工作

来自分类Dev

角度$ scope。$ on无法正常工作

来自分类Dev

角度绑定无法正常工作

来自分类Dev

角度 setTimeOut() 无法正常工作