mdc.snackbar.MDCSnackbar()抛出this2.root_.querySelector不是函数错误

时间:2017-06-23 23:38:59

标签: javascript angularjs web-component material-components

我在角度组件中创建新MDCSnackbar对象的行中出现以下错误:

let snackbar = new mdc.snackbar.MDCSnackbar(document.getElementsByClassName('mdc-snackbar'))

错误堆栈如下:

  

未捕获的TypeError: this2.root .querySelector不是函数      
在getActionButton(material-components-web.js:3144)      
在Object.registerActionClickHandler(material-components-web.js:3174)      
在MDCSnackbarFoundation.init(material-components-web.js:8572)      
在MDCSnackbar.MDCComponent(material-components-web.js:587)      
在新的MDCSnackbar(material-components-web.js:3123)   at:1:11

我有以下快餐栏的html片段:

<div class="mdc-snackbar"
 aria-live="assertive"
 aria-atomic="true"
 aria-hidden="true">
 <div class="mdc-snackbar__text"></div>
 <div class="mdc-snackbar__action-wrapper">
     <button type="button" class="mdc-button mdc-snackbar__action-button">
     </button>
</div>

我非常感谢您对我可能做错的一个线索。

2 个答案:

答案 0 :(得分:1)

将语句更改为new mdc.snackbar.MDCSnackbar(document.querySelector('.mdc-snackbar')解决了它。

答案 1 :(得分:0)

尝试:

var x = new mdc.snackbar.MDCSnackbar(document.querySelector('.mdc-snackbar'));
x.open();