javascript - 如何在 Angularjs 中 dom 完成渲染后运行指令

标签 javascript angularjs angularjs-directive angularjs-controller

我尝试动态渲染模板,如何在 {{tag}} 渲染完成后运行指令?

指令:

angular.module('services', [])
    .directive('demo', function() {
        return {
            templateUrl: '/template.html',
            restrict: 'C'
        }
    });

Controller :

angular.module('controller', [])
    .controller('DemoCtrl', ['$scope', function($scope) {
        $scope.tag = "demo";
        $scope.clickHandler = function() {
            // do something when click button
        }
    }]);

查看:

<button ng-click="clickHandler()">Button</button>
<div class="{{tag}}"></div>

最佳答案

您可以在指令中使用以下结构:

 app.directive('example', function() {

    var directive : {
        link:link,
        restrict:'C',
        templateUrl:'...'
    } 

    function link($scope,$element,$attrs, $rootScope){
      angular.element(document).ready(function() {
         // dom here
      })
    }

    return directive;
}

尝试一下,看看它是否适合您。

关于javascript - 如何在 Angularjs 中 dom 完成渲染后运行指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25969234/

相关文章:

javascript - 疯狂的 javascript 问题 : undefined actually ! == 未定义!

javascript - 我可以发回函数引用作为对 api 请求的响应吗?

javascript - Angularjs $document[0].activeElement 而不是 $document.activeElement

angularjs - json 文件的严格数据类型

javascript - AngularJS ng-src 不启动图像

javascript - 带有 Angular Directive(指令)的样式复选框

javascript - Angularjs指令点击元素

javascript - 如何居中和缩放对象threejs

javascript - Laravel 和 Ajax 加载数据而不刷新页面

javascript - 将外部 JavaScript 文件添加到 Magento