对于component,我不能像以前那样在父亲指令中引用Elem
或Attr
,将它们作为link
内的参数或post
。
选择像我以前在指令中使用的元素的最佳方法是什么?它改变了应该如何做的方式吗?
为什么Angular 1.5x的组件文档中没有记录?
答案 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);
}
});