当DOM准备好时,启动角度指令postlink函数

时间:2014-02-18 13:04:18

标签: javascript angularjs angularjs-directive

我的Angular代码中有指令。它具有与元素属性绑定的孤立范围;改变模型控制器; postlink函数旨在将单击回调绑定到模板中的元素;带有ng-switch的模板。

    scope: {
        payload: '='
    },
    controller: function($scope){
        $scope.havePayload = $scope.payload;
    },
    link: {
        post: function(scope, elem, attrs){
             elem.children(".with-payload").css( "background-color", "red" );   
        }
    },
    restrict: 'A',
    replace: true,
    template: '<div ng-switch on="havePayload"> \
                    <div ng-switch-when="true" class="with-payload"></div> \
                    <div ng-switch-when="false" class="without-payload"></div> \
                </div>'

问题在于,当postlink开始时,ng-switch仍然不知道任何关于模型的内容,并且不包含在postlink中我需要的DOM元素中。这很奇怪,因为只有当模板与模型达成一致时才应执行postlink 这是jsfiddle example。我知道,看起来很奇怪。只是我可怜的幻想:)
更新
http://jsfiddle.net/NXQ8G/3/) 似乎不起作用。

0 个答案:

没有答案