我正在尝试打开bootstrap模式,但它不能在fullcalendar angular 2中工作。
dayClick: function(date, jsEvent, view) {
(<any>$('#myModal33')).modal('show');
$('#click_date').val(date._d);
}
我明白了:
WEBPACK_IMPORTED_MODULE_5_jquery (...)。模态不是函数
如果我删除了这个import * as $ from 'jquery';
,那么模态工作正常,但我也需要jQuery。
答案 0 :(得分:5)
只是改变:
import * as $ from 'jquery';
为:
import * as $AB from 'jquery';
这解决了我的问题。现在它的工作就像vroom vroom .... yeheeeee .....
答案 1 :(得分:1)
可接受的答案确实有效,但这是我的想法,为什么$AB
有效,而不是$
。
在@types/jquery
页上,该包包含全局值$, Symbol and jQuery
。在这种情况下,您需要从包中导入所有内容,但不能覆盖这三个变量本身。
因此,只需将以下行添加到您的app.module.ts
中,您就可以在整个应用程序中使用$
标记。
import * as AnythingThatIsNotDollarSignOrSymbolOrjQuery from "jquery"
答案 2 :(得分:0)
我认为这个问题已得到解答。 Managing jQuery plugin dependency in webpack
使用ProvidePlugin注入隐式全局变量
大多数遗留模块依赖于特定全局变量的存在,比如jQuery插件对$或jQuery的影响。在这种情况下,您可以配置webpack,以便在遇到全局$标识符时添加var $ = require(“jquery”)。
可能需要custom.typings.d.ts 来防止打字稿错误。
您可以安装“@ types / jquery”,可能不需要此文件。
declare var $: any;
<强> webpack.config.js 强>
var webpack = require("webpack");
...
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
]