我正在尝试使用实现的.open()
方法在页面加载时在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');
});
}
有什么想法吗?我做错什么了吗?
答案 0 :(得分:1)
实际上是通过使用querySelector()
而不是querySelectorAll()
来实现的。