Lifecycle hook this。$ postLink给出了typeerror

时间:2016-05-19 09:42:02

标签: angularjs angularjs-components angularjs-lifecycle

我试图学习角度1.5分量并且偶然发现了一个问题。以下代码是我的组件的启动布局,它使用我的gruntjob编译时没有错误。

angular.module('layout',[]).component('kiHeaderParallax',{
        controller: myController,
        controllerAs: 'comp',
        template:'<div>Yo</div>'
    });

    function myController(){
        this.$postLink(domManipulation);
        console.log('poop');
    }

    function domManipulation(){
        console.log('poop2');
    }


angular.element(document).ready(function() {
      angular.bootstrap(document, ['layout']);
    });

但是我在访问浏览器时遇到了这种类型错误:

> 1.angular-1.5.5.js:13550TypeError: this.$postLink is not a function
>     at new myController (ki-header-parallax.component.ts:14)
>     at Object.invoke (1.angular-1.5.5.js:4665)
>     at $controllerInit (1.angular-1.5.5.js:10115)
>     at nodeLinkFn (1.angular-1.5.5.js:9033)
>     at compositeLinkFn (1.angular-1.5.5.js:8397)
>     at compositeLinkFn (1.angular-1.5.5.js:8400)
>     at compositeLinkFn (1.angular-1.5.5.js:8400)
>     at publicLinkFn (1.angular-1.5.5.js:8277)
>     at hint.js:1480
>     at 1.angular-1.5.5.js:1751

我正在使用Angular 1.5.5 - 所以不应该成为问题 - 任何想法导致我无法登录?

Codepen:http://codepen.io/anon/pen/JXQXgN?editors=1010

1 个答案:

答案 0 :(得分:2)

解决方案

this.$postLink = domManipulation;

而不是

this.$postLink(domManipulation);