使用toastr.js时,toastr未定义

时间:2014-02-28 17:34:25

标签: javascript asp.net-mvc-3 asp.net-mvc-4 razor toastr

我正试图把我的应用程序带到我的应用程序中。我做了一件非常简单的事情:

     bundles.Add(new ScriptBundle("~/Content/example-scripts").Include(
            "~/Areas/Examples/Scripts/vendor/*.js"
                   ));

该文件夹包含toastr.js。然后在我看来:

   @Scripts.Render("~/Content/example-scripts")

我看到toastr在Chrome中加载了,但是当我从我的viewmodel调用toastr时:

$(document).ready(function () {
    toastr.success('sup');
    ko.applyBindings(new ViewModel());
});

我收到以下错误:

Uncaught Error: Mismatched anonymous define() module: function ($) {
        return (function () {
            var version = '2.0.1';
            var $container;
            var listener;
            var toastId = 0;
            var toastType = {
                error: 'error',
                info: 'info',
                success: '...<omitted>...ch require.js:166
Uncaught ReferenceError: toastr is not defined sampleVm.js:36

我做错了什么?

1 个答案:

答案 0 :(得分:4)

您似乎正在使用 require.js ,因为error message来自它。

Mismatched anonymous define() module表示 toaster.js 被定义为匿名模块,但未通过 require.js 模块加载机制加载。

所以在你的情况下有两个解决方案:

  • 如果您使用 require.js ,请使用它来加载 toaster.js
  • 如果不打算使用 require.js ,只需从页面中删除引用, toaster.js 就会加载正常