【发布时间】:2016-07-05 10:11:28
【问题描述】:
我正在使用来自 google 和 jquery 的 Material Design Light。 我似乎无法让小吃栏在页面加载时显示。我的错误 得到是
index.cshtml(摘录)
<div id="demo-toast-example" class="mdl-js-snackbar mdl-snackbar mdl-color--accent">
<div class="mdl-snackbar__text"></div>
<button class="mdl-snackbar__action" type="button" style="display:none;"></button>
</div>
<script>
$(function () {
var ErrorStringValue = '@ViewBag.ErrorText';
if (ErrorStringValue.length > 0) {
setTimeout(addSnackbar(ErrorStringValue), 2000);
}
});
</script>
scripts.js
function addSnackbar(string) {
var snackbarContainer = document.querySelector('#demo-toast-example');
var data = { message: string, timeout: 2000 };
snackbarContainer.MaterialSnackbar.showSnackbar(data);
}
我遇到的错误是当加载带有errortext viewbag的页面时,它会立即执行addSnackbar,然后snackbarConatiner.MaterialSnackbar将为null
我试图延迟它以给其他东西加载时间?但是正如您所看到的,但由于某种原因,它实际上并没有等待延迟结束,然后再执行函数 addSnackbar()
我认为在 document.ready 之后设置了一些 mdl 元素,但是在完成之后如何设置小吃栏?
【问题讨论】:
标签: javascript jquery model-view-controller razor material-design-lite