Материализация getInstance (elem) внутри контроллера компонента AngularJS - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь использовать метод .open() materialize для открытия модального компонента в AngularJS при загрузке страницы.

Итак, мой файл компонента (loginModal.js) имеет следующий код:

angular.module('my-app').component('loginModal', {
    templateUrl:'app/components/templates/loginModal.html',
    controller: loginModalController
})


function loginModalController()
{
    angular.element(document).ready( function(){

        var loginModal = document.querySelectorAll('.modal');
        var loginModal_options = {};
        var loginModal_instance = M.Modal.init( loginModal, loginModal_options);

        console.log(loginModal_instance);
        loginModal_instance.open();

        var instance = M.Modal.getInstance(loginModal);
        instance.open();


    });
}

Хотя инициализация происходит, как и ожидалось, когда я пытаюсь вызвать метод open, через переменную loginModal_instance я получаю

loginModal_instance.open нефункция

пока я получаю переменную instance Я получаю

Не могу прочитать свойство 'open' из неопределенного

Вместо этого, если ясобираюсь использовать JQuery, работающий

function loginModalController()
{    
    $(document).ready(function(){
          $('.modal').modal();
          $('#login-modal').modal('open');
    });
}

Есть идеи?Я что-то не так делаю?

1 Ответ

0 голосов
/ 24 сентября 2018

На самом деле, используя querySelector() вместо querySelectorAll(), получилось.

...