如何在Angular 1.5组件中选择元素?

时间:2016-08-31 15:44:38

标签: javascript angularjs angularjs-directive angularjs-components

对于component,我不能像以前那样在父亲指令中引用ElemAttr,将它们作为link内的参数或post

选择像我以前在指令中使用的元素的最佳方法是什么?它改变了应该如何做的方式吗?

为什么Angular 1.5x的组件文档中没有记录?

1 个答案:

答案 0 :(得分:3)

您可以通过注入$element依赖项在组件控制器中执行相同的操作。但是在控制器上加载$element不是编译DOM。

对于这种情况,您可以使用Angular 1.5组件生命周期,就像我们有$postLink()一样,它与Angular 1指令的postLink / link函数一样。

要访问属性,请在控制器内注入$attrs服务。

<强>组件

myMod.component('myComponent', {
  template: '<h1>Home</h1>',
  controller: function($element) {
    this.test = 'hello world';
    this.$postLink = function(){
      //here you have compiled DOM
      //you can play with element here.
      console.log("Post LInk DOM", $element);
    }
    console.log("Initial DOM", $element);
  }
});