2

Для component, я больше не могу ссылаться на Elem или Attr как я использовал в своем отце - директивы, принимая их в качестве аргументов внутри link или post.как выбрать элемент внутри angular1.5 компонента

Каков наилучший способ выбора элемента, как я использовал в директиве? Изменилось ли это так, как это должно быть сделано?

Почему его не задокументировано в документе компонента для углового 1,5x?

Любые советы помогут вам!

+1

Вы можете обратиться к нему так же, как вы это делаете в контроллер традиционной директивы. Но если вам нужно получить доступ к элементу, то «компонент» может быть не лучшим выбором в первую очередь. 'директива 'все еще имеет свое место. – zeroflagL

ответ

3

Вы можете сделать то же самое внутри контроллера компонентов, введя зависимость $element. Но при загрузке контроллера $element не скомпилирован DOM.

Для такого случая можно использовать угловой 1.5 компонент жизненного цикла, как там у нас есть $postLink(), который будет работать так же, как и как postLink/link функции угловой 1 директиву.

Для получения доступа к атрибуту вы вводите служебный контроллер внутри системы $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); 
    } 
}); 
Смежные вопросы