Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在DOM就绪时启动角度指令postlink函数_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript 在DOM就绪时启动角度指令postlink函数

Javascript 在DOM就绪时启动角度指令postlink函数,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我的角代码中有指令。它具有绑定到元素属性的隔离范围;变模型控制器;postlink函数,用于将单击回调绑定到模板中的元素;带有ng开关的模板 问题是,当postlink启动时,ng switch仍然不知道关于模型的任何信息,也不包括我在postlink中需要的DOM元素。这很奇怪,因为postlink应该只在模板和模型一致时执行。 这是。看起来很奇怪,我知道。只是我可怜的幻想: 使现代化 似乎不起作用。你应该编译它,也许我做错了什么。请检查update.Btw,若我们使用终端,那个么ng开关将在

我的角代码中有指令。它具有绑定到元素属性的隔离范围;变模型控制器;postlink函数,用于将单击回调绑定到模板中的元素;带有ng开关的模板

问题是,当postlink启动时,ng switch仍然不知道关于模型的任何信息,也不包括我在postlink中需要的DOM元素。这很奇怪,因为postlink应该只在模板和模型一致时执行。 这是。看起来很奇怪,我知道。只是我可怜的幻想: 使现代化
似乎不起作用。

你应该编译它,也许我做错了什么。请检查update.Btw,若我们使用终端,那个么ng开关将在控制器之前执行。我想要的是:控制器->在模板中执行指令->发布链接。
    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>'