Как я могу наблюдать атрибуты в пользовательских элементах, используя CoffeeScript? - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь наблюдать изменения в атрибутах пользовательского элемента. К сожалению, вся документация, которую я могу найти для пользовательских элементов (а это почти ничего), написана на JS, и я не знаю, как преобразовать часть этого кода в CoffeeScript.

JS:

class HelloElement extends HTMLElement {
// Monitor the 'name' attribute for changes.

    static get observedAttributes() {return ['name']; }
    // Respond to attribute changes.

    attributeChangedCallback(attr, oldValue, newValue) {
        if (attr == 'name') {
            this.textContent = `Hello, ${newValue}`;
        }
    }
}

Пока я написал это:

class HelloElement extends HTMLElement

    #STUCK HERE!
    #I can't figure out how to convert the get observedAttributes() method....

    attributeChangedCallback(attr, oldValue, newValue): ->
        if attr == 'name'
            @textContent = 'Hello, ' + newValue

Но я понятия не имею, как написать метод get getAttributes в CoffeeScript. Может ли кто-нибудь помочь мне, пожалуйста? :)

Спасибо

1 Ответ

0 голосов
/ 28 июня 2019
class HelloElement extends HTMLElement
    @observedAttributes: ['name']

    attributeChangedCallback: (attr, oldValue, newValue) ->
        console.log("attr #{ attr } changed from #{ oldValue } to #{ newValue }")

Спасибо пользователю Reddit _redka (https://www.reddit.com/user/_redka/) за это решение!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...