1

我在一个角度组件中创建一个新的 MDCSnackbar 对象的行出现以下错误,如下所示:

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

错误堆栈如下:

Uncaught TypeError: this2.root .querySelector is not a function
at getActionButton (material-components-web.js:3144)
at Object.registerActionClickHandler (material-components-web.js:3174)
at MDCSnackbarFoundation.init (material-components-web .js:8572)
在 MDCSnackbar.MDCComponent (material-components-web.js:587)
在新 MDCSnackbar (material-components-web.js:3123) 在: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>

非常感谢我可能做错了什么的线索。

4

2 回答 2

1

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

于 2017-06-27T17:17:42.667 回答
0

试试看:

var x = new mdc.snackbar.MDCSnackbar(document.querySelector('.mdc-snackbar'));
x.open();
于 2019-10-14T19:45:03.570 回答