2017-02-20 3 views
0

Я разрабатываю приложение Angular2 и создаю мобильную поддержку для отключения автозаполнения, автокоррекции, автокапитализации и проверки орфографии для всех входов html. Я не хочу, чтобы вручную добавлять это для каждого отдельного ввода и хотел бы, чтобы метод динамического метода сайта был реализован.Angular2, добавить атрибуты элемента на сайте

Например в JQuery мы могли бы просто сделать $('input').attr('autocomplete','off')

Как я могу сделать то же самое в Angular2? Чтобы захватить любые входные данные и изменить их атрибуты?

ответ

1

Вы можете создать директиву для этого, Docs

Это будет выглядеть примерно так: неопробованного код, который должен быть отредактировано для вашего проекта

import {Directive, Input, Renderer} from '@angular/core'; 

@Directive({ 
    selector: 'input', 
    host: { 
    '(change)': 'setAtrributes()', 
    } 
}) 
export class InputDirective { 
    @Input() mobile: boolean; 

    constructor(private elementRef: ElementRef, private renderer: Renderer) {} 

    setAtrributes() { 
    this.renderer.setElementAttribute(this.elementRef.nativeElement, 'attributename', this.mobile ? 'off' : 'on'); 
    // Other attributes 
    } 
} 
+0

идеального спасибо, я удалил OnChange и просто бросил их в конструктор, хотя, так как я хочу, чтобы это всегда происходило ... не понимал, что вы можете просто привязать дополнительные биты к существующим директивам с помощью селектора: «ввод», как это очень ценится :) –

Смежные вопросы