Как определить, была ли закрыта панель управления MDC в JS?

Вот что я собрал, чтобы помочь понять разницу

public interface ICovariant<out T> { }
public interface IContravariant<in T> { }

public class Covariant<T> : ICovariant<T> { }
public class Contravariant<T> : IContravariant<T> { }

public class Fruit { }
public class Apple : Fruit { }

public class TheInsAndOuts
{
    public void Covariance()
    {
        ICovariant<Fruit> fruit = new Covariant<Fruit>();
        ICovariant<Apple> apple = new Covariant<Apple>();

        Covariant(fruit);
        Covariant(apple); //apple is being upcasted to fruit, without the out keyword this will not compile
    }

    public void Contravariance()
    {
        IContravariant<Fruit> fruit = new Contravariant<Fruit>();
        IContravariant<Apple> apple = new Contravariant<Apple>();

        Contravariant(fruit); //fruit is being downcasted to apple, without the in keyword this will not compile
        Contravariant(apple);
    }

    public void Covariant(ICovariant<Fruit> fruit) { }

    public void Contravariant(IContravariant<Apple> apple) { }
}

tldr

ICovariant<Fruit> apple = new Covariant<Apple>(); //because it's covariant
IContravariant<Apple> fruit = new Contravariant<Fruit>(); //because it's contravariant
0
задан James Stewart 16 January 2019 в 11:55
поделиться

2 ответа

Вы должны быть в состоянии прослушать событие MDCSnackbar:closed, задокументированное в разделе событий документации .

Поскольку вы пометили свой вопрос vue.js, я предполагаю, что вы интегрируете MDC в приложение Vue. В таком случае я бы посоветовал вам взглянуть на vue-mdc-adapter . У них также есть более специфичная для Vue документация для закусочной . Ваша закусочная может быть примерно такой:

<mdc-snackbar v-model="snack" @hide="handleHide"></mdc-snackbar>

@hide - уведомить слушателей, что закусочная была скрыта.

0
ответ дан Aurel Bílý 16 January 2019 в 11:55
поделиться

Я решил это:

const snackbarElement = document.querySelector(".mdc-snackbar");
this.snackbar = new MDCSnackbar(snackbarElement);

snackbarElement.addEventListener("MDCSnackbar:closed", (event) => {

Раньше я пытался добавить eventListener к самой закусочной bar

0
ответ дан James Stewart 16 January 2019 в 11:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: